a = [100]
sum = 0
for i in range(10): # 计算反弹并插入a列表中
x = a[i] / 2
a.append(x)
print("第 %d 次落地!反弹 %f 米!" % (i + 1, x))
for i in a[0:-1]: # 计算到第10次落地时的总路程
sum += i * 2
print("共经过%f米!" % (sum - 100))
print("第十次反弹 %f 米!" % a[-1])
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又再吃了一个。第二天早上又将剩下的桃子吃掉一半,再吃了一个。
以后每天早上都吃了前一天剩下的一半 在加一个。
到第10天早上想再吃时,见只剩下一个桃子了。
请通过一段通过代码来计算第一天摘了多少个桃子?(递归实现)
def monkey_tao(n):
if n > 10 or n < 1:
return
elif n == 10:
return 1
else:
return (monkey_tao(n + 1) + 1) * 2
print(monkey_tao(1))
小明买了一对刚出生的兔子,兔子从出生后第3个月开始,每个月都生一对兔子,
每对兔子出生后第三个月开始每个月都会生一对兔子,
假如兔子都不死,问100个月后小明的兔子为多少对?
month = eval(input('请输入月份:'))
def f(month):
if month == 1 or month == 2:
return 1
else:
return f(month - 2) + f(month - 1)
print(f(month))