首页 > 试题广场 >

最大公约数

[编程题]最大公约数
  • 热度指数:18060 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
输入两个正整数,求其最大公约数。

输入描述:
测试数据有多组,每组输入两个正整数。


输出描述:
对于每组输入,请输出其最大公约数。
示例1

输入

49 14

输出

7
while True:
    try:
        n,m=map(int,input().strip().split(' '))
        #print(n,m)
        min_num=min(n,m)
        re=0
        for i in range(1,min_num+1):
            if n%i==0 and m%i==0:
                if i>re:
                    re=i
        print(re)
    except:
        break


while True:
    try:
        n,m=map(int,input().strip().split(' '))
        #print(n,m)
        min_num=min(n,m)
        max_num=max(n,m)
        while min_num!=0:
            temp=max_num%min_num
            max_num=min_num
            min_num=temp
        print(max_num)
    except:
        break

编辑于 2019-07-29 13:41:28 回复(0)
def gcd(a, b):
    if a < b:
        a, b = b, a

    while b != 0:
        temp = a % b
        a = b
        b = temp

    return a

while True:
    try:
        a, b = map(int, input().split())
        print(gcd(a, b))
    except:
        break

本来准备使用math库的,没想到被ban了??

发表于 2017-10-01 10:22:46 回复(0)
from fractions import gcd
try:
    while 1:
        print gcd(*map(int, raw_input().split()))
except:
    pass

发表于 2016-12-26 21:52:33 回复(0)

问题信息

难度:
3条回答 12302浏览

热门推荐

通过挑战的用户

查看代码
最大公约数