迭代算法-计算猴子一共摘了多少个桃子
时间:2010-07-23 来源:chengxiaopeng
s=s*5/4+1
s=s*5/4+1
s=s*5/4+1
s=s*5/4+1
s=s*5/4+1 另外从上面标有 A 的表达式,进行简单等式变化: s6 = x; (s5-1)/5 = s6/4; (s4-1)/5 = s5/4; (s3-1)/5 = s4/4; (s2-1)/5 = s3/4; (s1-1)/5 = s2/4; 从上面的式子,我们可以很快的推理出s2,s3,s4,s5,s6都是4的倍数。当然了s1不一定是4的倍数。因为我们求解桃子的总个数是个未知数,从上面的分析可知桃子的个数是4的倍数,这样很容易让我们想到进行循环,初始值为0,每次循环,如果不是需要的数,就加上4。而跳出循环的判断条件即,进行5次分桃子都能成功(进行红色B运算),即可跳出循环。 代码如下:
#include <stdio.h> |
程序运行结果:猴子一共摘了3121个桃子,第5只猴子走后还剩下1020个桃子。