题目内容

猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一个,第二天照此办法,吃掉剩下桃子的一半另加一个,天天如此.到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?试写出算法和伪代码.

答案:
解析:

  解:假设第一天开始时有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


练习册系列答案
相关题目

违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com

精英家教网