鱼C论坛

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

[技术交流] 函数:递归是神马 | 记录一下

[复制链接]
发表于 2021-3-10 14:24:09 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 TC_DHL 于 2021-3-10 19:39 编辑

#. 使用递归编写一个函数,利用欧几里得算法求最大公约数,例如 gcd(x, y) 返回值为参数 x 和参数 y 的最大公约数。
#这里求得了最大公约数,也增加了求得最小公倍数的值, 应该没有写错
#打印结果
#输入一个被除数: 135
#输入一个除数: 10
#最大公约数为:5, 最小公倍数为:270
def gys_gbs(x, y):
    if y:
        return gys_gbs(y, x%y)
    else:
        gbs = num1 * (num2 / x)
        print('最大公约数为:%d, 最小公倍数为:%d' % (x, gbs))
num1 = int(input('输入一个被除数: '))
num2 = int(input('输入一个除数: '))
gys_gbs(num1, num2)

#刚刚加了一个循环, 就是可以一直计算想要的结果
continuenum = 1
while continuenum > 0:
    num1 = int(input('输入一个被除数: '))
    num2 = int(input('输入一个除数: '))

    def gys_gbs(x=0, y=0):
            if y:
                return gys_gbs(y, x%y)
            else:
                gbs = num1 * (num2 / x)
                print('最大公约数为:%d, 最小公倍数为:%d' % (x, gbs))
    gys_gbs(num1, num2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-10 15:44:58 From FishC Mobile | 显示全部楼层
没用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-10 15:46:04 From FishC Mobile | 显示全部楼层
笑星星 发表于 2021-3-10 15:44
没用

你觉得没用,你可以保持意见,但不用你说出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-10 18:08:16 From FishC Mobile | 显示全部楼层
我是初学者,我现在学递归,我把代码抄下来执行,但显示错误,就这意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-10 19:38:18 | 显示全部楼层
笑星星 发表于 2021-3-10 18:08
我是初学者,我现在学递归,我把代码抄下来执行,但显示错误,就这意思

我并没有使用IDLE, 你可以用pycharm来执行看下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-10 22:38:54 | 显示全部楼层
笑星星 发表于 2021-3-10 18:08
我是初学者,我现在学递归,我把代码抄下来执行,但显示错误,就这意思

对不起
是我激动了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 07:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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