scratch按天数摘苹果,scratch递归算法题

爷爷家有一颗苹果树,红红的果在暑假挂满枝头,是小明最爱吃的,每个暑假小明都会带好朋友来爷爷家住上几天。每次爷爷都会根据小朋友吃苹果数量变化规律,提前摘下一筐苹果。

规律如下:

小朋友第一天会吃苹果总数的一半,还不过瘾,又多吃了一个。第二天早上又将剩下的苹果吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。于是到走的那一天只剩一个苹果了。请你编写程序,能够根据小明住的天数,帮爷爷计算出需要摘多少个苹果。

scratch按天数摘苹果
scratch按天数摘苹果

【输入描述】

输入一个正整数,存储到变量【天数】

【输出描述】

输出苹果总数,存储在变量【苹果总数】中,表示爷爷需要摘的总数。

解题思路:

设苹果总数为x,第一天吃了x/2-1,第二天吃了(x/2-1)/2-1,第三天吃了((x/2-1)/2-1)/2-1……..所以。

我们设

x/2-1=a1,

a2=a1/2-1

a3=a2/2-1
……

那么x=2(1+a1)

题目重点说出,走的那一天只剩一个苹果了。我们倒推过去,苹果总数为1,循环天数-1次。代码如下:

scratch递归算法
scratch递归算法

最后更新时间:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

上一篇 2022-10-28 18:44:53
下一篇 2022-10-31 16:05:51

相关推荐