设原有x个,剩y个。添上四个桃,再分,每个猴子都获得了与之前同样多的桃子,那么最后剩下的变成了y+4个。按新方法,每个猴子拿走后剩下这只猴子拿之前的4/5,于是有y+4=(4/5)^5*(x+4),因为(4/5)^5等于1024/3125,所以x+4是3125的倍数,x最小是3121,y最小是1020。
这是著名的5猴分桃问题,李政道给中国科大少年班出过这道题.
原题:5个猴子一块采摘了一批桃子,由于太累了,他们决定第二天早晨再分.
第二天,第一只猴子来后,把桃子分成5份,发现多了一个,然后他吃了一个桃子,并且拿走了一份,第二只猴子来后,他不知道第一只猴子已经拿走了一份,他又把剩下的桃子分成5份,发现也多了一个桃子,他吃了一个桃子,并拿走了一份,第三只,第四支,第五只猴子都是这样.问最后一只猴子拿完后还剩多少桃子,他们一共采摘了多少桃子?
(6*5)+1=31
然后31*5+1=156
重复到第五个猴子即可
如果说少年班的人做不出来,那中国堪忧啊。
最小答案是3906个
#include
int s(int n,int a)
{
if(n>0)
if((a-1)*4%5==0)
return s(--n, (a-1)*4/5);
else
return 0;
else
return 1;
}
main(){
int i=5;
while(1)
if (s(5,i++))
break;
cout<<--i<
运行结果3121