<?php
/*
10:五只猴子采得一堆桃子,猴子彼此约定隔天早起后再分食。
不过,就在半夜里,一只猴子偷偷起来,把桃子均分成五堆后,
发现还多一个,它吃掉这桃子,并拿走了其中一堆。第二只猴子醒来,
又把桃子均分成五堆后,还是多了一个,它也吃掉这个桃子,并拿走了其中一堆。
第三只,第四只,第五只猴子都依次如此分食桃子。那么桃子数最少应该有几个呢?
*/ /**
* $n 是猴子数量
* $total 桃子数量
* $min 桃子最小数量
*/ /**
* 方法一
*/ // 假设桃子最小数量为1
$min=1;
$n=5;
// 死循环
while (true)
{
$m = $min;
for ($i=0; $i < $n; $i++)
{
if( ($m-1)%5==0)
{
$m=($m-1)/5*4;
}else{
break;
}
}
if($i==$n && $m>0)
{
break;
}
$min++;
}
echo $min;
die; /**
* 方法二
*/
$n=7; // 如果空值的情况,可能桃子最小数量已经超过桃子总数量
$total = 9999999; $min = setFor($n,$total);
echo $min; // 循环桃子
function setFor($n,$total)
{
// 假设最少就6个桃子
for ($i=6; $i < $total ; $i++)
{
if ( $minTaozi = getTaozi($n,$i))
{
break;
}
}
return $minTaozi;
} // 获取桃子最小值
function getTaozi($n,$i)
{
if($n==0)
{
return $i;
}
$taozi = getTaozi($n-1,$i);
if($taozi==false)
{
return false;
}
if($taozi%4 != 0 )
{
return false;
}
return $taozi*5/4+1;
}

最新文章

  1. [记录]ASP.NET MVC 2.0 如何使用Html.RadioButtonFor?
  2. 阿里 RocketMQ 安装与简介
  3. ogrinfo使用
  4. Apache22中配置虚拟主机(Apache VirtualHost)
  5. Rabbitmq重启服务器用户丢失解决办法
  6. py-day3-6 python map函数
  7. gitlab 500 服务器错误 重启解决了
  8. R-FCN论文讲解(转载链接)
  9. 【深入理解Java集合框架】红黑树讲解(上)
  10. Tensorflow-hub[例子解析2]
  11. 【转】ETL讲解(很详细!!!)
  12. 【C#】神奇的yeild
  13. react基础
  14. C#进行数据筛选(一)
  15. [noip模拟题]LGTB 玩THD
  16. MongoDB(课时16 分页显示)
  17. CentOS中用Nexus搭建maven私服,为Hadoop编译提供本地镜像
  18. angularjs中的$http详解
  19. C# 委托/Func() 中 GetInvocationList() 方法的使用 | 接收委托多个返回值
  20. 网页中Cache各字段含义

热门文章

  1. 基于海龟编辑器python少儿编程
  2. 【翻译】如何使用 OpenVINO 来优化 OpenCV
  3. Attention-based Extraction of Structured Information from Street View Imagery:基于注意力的街景图像提取结构化信息
  4. PyTorch 系列教程之空间变换器网络
  5. ARM处理器的堆栈和函数调用,以及与Sparc的比较
  6. iOS 缩小 ipa 大小
  7. ICPC训练联盟周赛Preliminaries for Benelux Algorithm Programming Contest 2019
  8. 微信小程序将外部数据从父组件中传入到子组件
  9. 以太坊代币,USDT归集流程图
  10. 这个案例写出来,还怕跟面试官扯不明白 OAuth2 登录流程?