[php] 猴子偷桃
Posted LeePC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[php] 猴子偷桃相关的知识,希望对你有一定的参考价值。
/* 10:五只猴子采得一堆桃子,猴子彼此约定隔天早起后再分食。 不过,就在半夜里,一只猴子偷偷起来,把桃子均分成五堆后, 发现还多一个,它吃掉这桃子,并拿走了其中一堆。第二只猴子醒来, 又把桃子均分成五堆后,还是多了一个,它也吃掉这个桃子,并拿走了其中一堆。 第三只,第四只,第五只猴子都依次如此分食桃子。那么桃子数最少应该有几个呢? 设总数为x 第0个猴子偷掉后剩下的总数 (x-1)4/5=H1 第1个猴子偷掉后剩下的总数 (H1-1)4/5=H2 第2个猴子偷掉后剩下的总数 (H2-1)4/5=H3 第3个猴子偷掉后剩下的总数 (H3-1)4/5=H4 第4个猴子偷掉后剩下的总数 (H4-1)4/5=H5 第5个猴子偷掉后剩下的总数 最后一个猴子最少把桃子分为 5堆每堆一个,还剩一个 */ /** * $n 是猴子数量 * $total 桃子数量 * $min 桃子最小数量 */ $n=10; // 如果空值的情况,可能桃子最小数量已经超过桃子总数量 $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; }
以上是关于[php] 猴子偷桃的主要内容,如果未能解决你的问题,请参考以下文章