猴子吃桃
有一只小猴子,摘了很多桃
第1天吃了全部桃子的一半,感觉不饱又吃了一个
第2天吃了剩下的一半,感觉不饱又吃了一个
... 以此类推
到第10天,发现只剩一个了
请问第一天摘了多少桃?
代码 :
tao10 = 1
tao9 = (tao10 + 1) * 2
tao8 = (tao9 +1) * 2
ttt = 1
i = 10
while i>0:
ttt = (ttt + 1) * 2
i -= 1
print(ttt)
讲解:
我们先看题目:
第1天吃了桃子的一半感觉吃不饱又吃一个
第2天能又吃了剩下的一半又不饱又吃了一个
就这样吃到第10天的时候只剩一个
那么我已知第10天有1个桃子,那么我们定义一个 tao10 等于一
那么我们需要这样的话就需要一个公式
那么公式呢我们先手动推导一下这个第9天也是多少
第9天的话呢我们定义一个 tao9 = (tao10 +1 ) * 2 第10天 就是tao10 加上一
为什么是加一呢?加一的话就是说他感觉不饱又吃了一个,再乘一个2 就代表着他第9天吃了第8天的一半
对吧所以我要推到第9天的话那就是说,这个桃子啊他就先是等于 1 算出第 9 天让我们就加上第9天最后一次的哪一个然后再乘一个2 那么就是第9天剩下的一个桃子第9天的桃子数
然后我们再这样推导出第8天的桃子杰出
我们再定一个tao8 就等于第9天的桃子加上1 再 * 2
第9天是4个
然后我们第8天就是(4+1) * 2 ,第8天就是10个
然后这样的话就得到一个公式所以说我们要利用的循环
我要利用的while循环循环从10到1
i先等于10 条件是 i 大于0
然后我们再定义一个 ttt = 1
然后 再把之前的公式套进去
那么在控制下循环变量 i -= 1
循环理论上是OK没问题让我们写完了之后再打印一下
printer 一个 ttt 看下结果
发表评论