【python新手求助】递归计算国王的稻谷
看了小甲鱼递归那节课,想用递归的方法写出一个国王的稻谷的函数(国王在农夫的棋盘上放稻谷,第一个格子放1粒,第二个格子放2粒,第三个格子放4粒,每后面一个格子放的都是前一个格子的倍数),计算放到第n个格子后棋盘上面所有的稻谷数量。>>> def temp(n):
if 2**n==1:
return 1
else:
return 2**n+temp(n-1)
计算结果有问题比如我要算第5个格子n=5实际计算结果是第6个格子的数
除了用嵌套函数的办法还可以怎么优化这个啊 ~
>>> def temp(n):
n-=1
def temp1(n):
if 2**n==1:
return 1
else:
return 2**n+temp1(n-1)
return temp1(n)
这个是我嵌套函数的办法,n多1 我就直接给他降一位,简单粗暴太丑陋了~ def temp(n):
if n==1:
return 1
else:
return 2**(n-1)+temp(n-1) 看完这个答案太伤自尊了~~~觉得自己智商不够用{:5_99:} zowen 发表于 2022-3-18 23:03
看完这个答案太伤自尊了~~~觉得自己智商不够用
有什么好伤自尊的,大家都是一步一步学起的嘛,慢慢来{:5_108:} 本帖最后由 zowen 于 2022-3-18 23:24 编辑
isdkz 发表于 2022-3-18 22:54
我这是初一代数没学好~n=x-12**(n)+temp(n-1) 可不就是 2**(x-1)+temp(x-1){:5_100:} 继续练习 这次挑战下每次×3 13 9 27***** n*3 感觉递归应该也能写出来 我试试去
页:
[1]