鱼C论坛

 找回密码
 立即注册
查看: 1506|回复: 4

[技术交流] 猴子吃桃递归方法

[复制链接]
发表于 2020-6-20 16:40:30 | 显示全部楼层 |阅读模式

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

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

x
猴子吃桃:猴子第一天摘下若干个桃子,当即吃了一半,不过瘾就多吃了一个。第二天又将剩下的桃子吃了一半,不过瘾多吃了一个。
以后每天都吃前一天剩下的一般再加一个。到第10天刚好剩下一个。问猴子第一天摘了多少个桃子?
print("----猴子吃桃----")
while True:
    def func(d):
        if d == 10:
            return 1
        else:
            result = 2*(func(d+1)+1)
            return result

    num = int(input("请输入第几天:"))

    func(num)

    print("第%d天共有%d个桃子"%(num,func(num)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-20 16:51:48 | 显示全部楼层
循环里定义函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-20 23:03:26 | 显示全部楼层

while True主要是为了玩多几次,不想每次都按F5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-21 07:55:30 | 显示全部楼层
漏气的嘟嘟君 发表于 2020-6-20 23:03
while True主要是为了玩多几次,不想每次都按F5

我是告诉你把函数定义从循环里拿出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-21 09:34:48 | 显示全部楼层
是啊,或许人家专家编了一辈子程序,也没有搞过这些复杂的结构,其实解决问题和这些是无关的。除了递归是必须的。能不用递归,我也是不用的(除非强行不用,程序很难懂,或者是要绕弯)
上次有个生成GIF文件透明的java程序,用了一个别人的程序,后来想在里面加static常量,报错,一看他的类是类中类,明明结构上可以不这么复杂(凡是类种类,这些知识除了考试,几乎没有用处),去搞这些干嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 13:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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