Python 练习实例21
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
程序分析:采取逆向思维的方法,从后往前推断。
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding: UTF-8 -*-
x2 = 1
for day in range(9,0,-1):
x1 = (x2 + 1) * 2
x2 = x1
print x1
以上实例输出结果为:
1534
健健
459***163@qq.com
Python3 参考方案:
公式推导
健健
459***163@qq.com
菜鸟1001号
176***2011@qq.com
参考方法:
菜鸟1001号
176***2011@qq.com
莫哉啼
695***811@qq.com
Python3 参考方法:
莫哉啼
695***811@qq.com
强哥1号拖拉机
249***774@qq.com
使用递归:
强哥1号拖拉机
249***774@qq.com
关山月
15z***ng1@stu.edu.cn
Python2.x 与 Python3.x 兼容:
关山月
15z***ng1@stu.edu.cn
funzmg
fun***@gmail.com
利用正序的递归排序,使用的是Python 3.6
funzmg
fun***@gmail.com
paul
fly***hang@hotmail.com
使用递归,在前面大神的基础上简化了语句,并且输出每天有多少桃子,摘了多少:
paul
fly***hang@hotmail.com
kuraki
117***6898@qq.com
Python3 下测试:
kuraki
117***6898@qq.com