五猴分桃:五隻猴子一起摘了一堆桃子,因為太累了決定先睡一覺再分。一會其中乙個猴子先過來將桃子分成五分,剩了乙個桃子就給吃了,並拿走其中乙份。
一會第2只猴子過來。又將剩下的桃子分成5份,發現多了乙個桃子給吃了,並拿走其中乙份,接著來的第3只、4只、5只猴子都是這樣做的,它們一共摘了多少桃子,第5只猴子走後剩多少。
【分析】
桃子總數s0,五個猴子分別拿走s1,s2,s3,s4,s5:
s0=5*s1+1
4*s1=5*s2+1
4*s2=5*s3+1
4*s3=5*s4+1
4*s4=5*s5+1
我們可以列舉桃子總數,s0,從s0=1開始列舉。
code:
#include#include void main()
, i;
for (s[5] = 1;; s[5]++)
for (i = 1; i < 6; i++)
printf("第%d個猴子將桃子分為5堆,每堆%4d個桃子.\n", i, s[i]);
printf("共摘了%d個桃子, 剩下%d個桃子.\n", s[0], s[5] * 4);
system("pause");
}
結果: 五猴分桃python 五猴分桃問題
五隻猴子分一堆桃。半夜,第一只猴子先起來,它把桃分成了相等的五堆,多出乙隻。於是,它吃掉了乙個,拿走了一堆 第二隻猴子起來一看,只有四堆桃。於是把四堆合在一起,分成相等的五堆,又多出乙個。於是,它也吃掉了乙個,拿走了一堆 其他幾隻猴子也都是這樣分的。問 這堆桃至少有多少個?先給這堆桃子加上4個,設此...
五大基礎演算法 列舉
1 定義 按照問題的要求,一一枚舉所有有可能的解,然後進行判斷,若符合要求則採納這個解,不符合就拋棄。2 演算法實現 第一部分 迴圈部分 利用迴圈把所有有可能的解,一一枚舉出來。需注意不能遺漏任何乙個解,也要避免重複。要考慮如何設計迴圈變數 初值 終值和遞增值。迴圈變數是否參與檢驗。為了提高解題效率...
五大常用演算法 例項列舉
五大常用演算法 例項列舉 1.分治法 話說遞迴與hanoi塔 二分法求方程近似解 用c 實現合併排序 求最大值和最小值的分治演算法 2.動態規劃法 動態規劃求0 1揹包問題 最長公共子串問題的實現 用動態規劃實現飛彈攔截 最大化投資回報問題的實現 3.貪心演算法 最小生成樹之prim演算法 最小生成...