猴子吃桃问题 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子分成五份,多了一个,这这猴子把多的扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个仍入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
function fentao(){ $count = 5;//5只猴子 for($i = 0;$i<1000;$i++){ $result = fentao_inner($count,$i); if($result==1){ echo "<br>桃子数可以为:{$i}"; } } } function fentao_inner($count,$num){ if($count == 0) return 1; if(($num-1)%5 !=0) return -1; $num = ($num-1)/5*4;//每次猴子分完桃子后会拿走一份,所以剩余4份 return fentao_inner($count-1,$num); }
世界上最美的风景,是自己努力的模样