鱼C论坛

 找回密码
 立即注册
查看: 1313|回复: 5

[已解决]【python新手求助】递归计算国王的稻谷

[复制链接]
发表于 2022-3-18 22:44:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
看了小甲鱼递归那节课,想用递归的方法写出一个国王的稻谷的函数(国王在农夫的棋盘上放稻谷,第一个格子放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 我就直接给他降一位,简单粗暴太丑陋了~
最佳答案
2022-3-18 22:54:03
  1. def temp(n):
  2.         if n==1:
  3.                 return 1
  4.         else:
  5.                 return 2**(n-1)+temp(n-1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-3-18 22:54:03 | 显示全部楼层    本楼为最佳答案   
  1. def temp(n):
  2.         if n==1:
  3.                 return 1
  4.         else:
  5.                 return 2**(n-1)+temp(n-1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-18 23:03:56 | 显示全部楼层
看完这个答案太伤自尊了~~~觉得自己智商不够用
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-18 23:06:22 | 显示全部楼层
zowen 发表于 2022-3-18 23:03
看完这个答案太伤自尊了~~~觉得自己智商不够用

有什么好伤自尊的,大家都是一步一步学起的嘛,慢慢来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-18 23:07:28 | 显示全部楼层
本帖最后由 zowen 于 2022-3-18 23:24 编辑


我这是初一代数没学好~  n=x-1  2**(n)+temp(n-1)   可不就是   2**(x-1)+temp(x-1)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-18 23:15:12 | 显示全部楼层
继续练习 这次挑战下每次×3    1  3   9    27  ***** n*3 感觉递归应该也能写出来 我试试去
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-29 13:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表