题目内容
猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一个,第二天照此办法,吃掉剩下桃子的一半另加一个,天天如此.到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?试写出算法和伪代码.
答案:
解析:
解析:
|
解:假设第一天开始时有a1只桃子,第二天有a2只,…,第9天有a9个,第10天有a10只.在a1,a2,…,a10中,只有a10=1是知道的,现要求a1,而我们可以看出a1,a2,…,a10之间存在一个简单的关系: a9=2×(a10+1), a8=2×(a9+1), a1=2×(a2+1). 也就是:ai=2×(ai+1+1),i=9,8,7,6,…,1. 这就是此题的数学模型. 算法如下: S1 a1←1;{第10天的桃子数,a1的初值} S2 i←9;{计数器初值为9} S3 a0←2×(a1+1);{计算当天的桃子数} S4 a1←a0;{将当天的桃子数作为下一次计算的初值} S5 i←i-1; S6 若i≥1,转S3; S7 输出a0的值. 伪代码如下: 10 a1←1 20 i←9 30 a0←2×(a1+1) 40 a1←a0 50 i←i-1 60 If i≥1 Then GoTo 30 70 Else 80 Print a0 |
练习册系列答案
相关题目