猴子分桃問題

2021-05-31 22:12:49 字數 1064 閱讀 3370

五隻猴子分桃。半夜,第一只猴子先起來,它把桃分成了相等的五堆,多出乙隻。於是,它吃掉了乙個,拿走了一堆; 第二隻猴子起來一看,只有四堆桃。於是把四堆合在一起,分成相等的五堆,又多出乙個。於是,它也吃掉了乙個,拿走了一堆;......其他幾隻猴子也都是 這樣分的。問:這堆桃至少有多少個?

設桃子總數為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猴子都是用同樣的方法,也都正好。...