五隻猴子分桃。半夜,第一只猴子先起來,它把桃分成了相等的五堆,多出乙隻。於是,它吃掉了乙個,拿走了一堆; 第二隻猴子起來一看,只有四堆桃。於是把四堆合在一起,分成相等的五堆,又多出乙個。於是,它也吃掉了乙個,拿走了一堆;......其他幾隻猴子也都是 這樣分的。問:這堆桃至少有多少個?
設桃子總數為s,第一只猴子分得和桃子為x5,第二隻猴子為x4……第五只猴子為x1
s = 5 * x5 + 1;
4 * x5 = 5 * x4 + 1;
……4 * x2 = 5 * x1 + 1;
於是有:
4(x5 + 1) = 5(x4 + 1), 4(x4 + 1) = 5(x3 + 1)..., 4(x2+1) = 5(x1 + 1)
所以有:(x5 + 1) = (5/4)^4 * (x1 + 1) --> (x1 + 1) = (4/5)^4 * (x5 + 1)
由於x1必須整數,所以x5 = 5^4 - 1 = 624
s = 5 * x5 + 1 = 624 * 5 + 1 = 3121
1 #include
2 #include
3 4
intmonkey_peach(intn)
5 23
24if(i >= n)
25break;
26 p[0]++;
27 }
28 29
for(i = 0; i < n; i++)
30
33 printf("
\n");
34 printf("peach count = %d.
\n", 5 * p[n-1] + 1);
35return0;
36 }
37 38
intmain()
39
猴子分桃問題
5只猴子分一堆桃子,怎麼也不能分成5等份,只好先去睡覺,準備第二天再分。夜裡1只猴子偷偷爬起來,先吃掉1個桃子,然後將其分成5等份,藏起自己的乙份就去睡覺了 第2只猴子又爬起來,吃掉1個桃子後,也將桃子分成5等分,藏起自己的乙份睡覺去了 以後的3只猴子都先後照此辦理。問最初至少有多少個桃子?倒過來想...
猴子分桃問題
5只猴子分一堆桃子,怎麼也不能分成5等份,只好先去睡覺,準備第二天再分。夜裡1只猴子偷偷爬起來,先吃掉1個桃子,然後將其分成5等份,藏起自己的乙份就去睡覺了 第2只猴子又爬起來,吃掉1個桃子後,也將桃子分成5等分,藏起自己的乙份睡覺去了 以後的3只猴子都先後照此辦理。問最初至少有多少個桃子?倒過來想...
猴子分桃問題
5個猴子分桃子問題 有5個猴子分一堆桃子,不可以平分,5個猴子都回去睡覺了.晚上,第乙個猴子深夜偷偷起來,丟掉乙個桃子,正好可以5個人分,於是,他拿掉自己的那份回去了。第二個猴子也起來了,又丟了個桃子,又正好可以5個人分,於是,他也拿著自己的那份走了。後面的3,4,5猴子都是用同樣的方法,也都正好。...