题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾, 又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
如题,要求用同余方程做此题,然后再写出python。
最后一天1个,倒数第二天是前一天数量*2加1,倒数第三天是前一天数量*2加1。。。。。
def fun(n):
mod = 1 # 同余的余数
if n == 1:
return mod
return fun(n - 1) * 2 + mod # * 2 部分表示与前一天的比例,看评论部分可修改成其他数字以适用不同的比例
print(fun(10))
最后一天1个,倒数第二天是(最后一天的数量加1)*2,倒数第三天是(前一天数量加1)*2,依此类推,最后结果是 1534 个
days = 10
num = 1
while days-1 >= 0:
if days == 1:
print('第 {} 天的摘取桃子数量为:{} 个'.format(days, num))
# print('第 {} 天的桃子数量为:{} 个'.format(days, num))
days -= 1
num = ( num + 1 ) * 2