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

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日

悬赏问题

  • ¥15 怎样才能让鼠标沿着线条的中心线轨迹移动
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?