「已注销」 2022-04-20 22:39 采纳率: 79.3%
浏览 60
已结题

python 求最大公约数

问题:首先,两数都可以折半的话(可以用2来约分),就折半,折了之后最后要乘回去。当不可以折半时,那么就比较分母和分子的大小,用大数减去小数,互相减来减去,一直到减数与差相等为止,用这个相等的数字来约分。就是像辗转相除法一样,

img

请问这个代码我要怎么修改

  • 写回答

3条回答 默认 最新

  • 关注

    你这是相减法吗?
    你题目的解答代码如下:

    a = int(input("请输入一个整数:"))
    b = int(input("请输入一个整数:"))
    if b>a:
        a,b = b,a
    i = 0
    while a%2==0 and b%2==0:
        a = a / 2
        b = b / 2
        i += 1
        print(a,b)
        print(i)
    while a!=b:
        if a>b:
            a = a - b
        else:
            b = b - a
    c = a*2**i
    print(c)
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 4月20日

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名