【基础】练习册8-Python3_最小公约数和最大公约数

代码如下:

#编写并测试最小公约数和最大公约数

def lcd(m,n):

    #最小公倍数

    for i in range(max(m,n),m*n+1):

        if i%m==0 and i%n==0:

            break

    return i


def gcm(m,n):

    #最小公约数

    for j in range(2,min(m,n)+1):

        if m//j==0 and n//j==0:

            break

    if j==min(m,n) and m//j!=0 and n//j!=0:

        j=1

    return j

while True:

    m=int(input('请输入第一个正整数:'))

    if  m>0:

        break

    else:

        print('输入错误,请重新输入')

while True:

    n=int(input('请输入第二个正整数:'))

    if n>0:

        break

    else:

        print('输入错误,请重新输入')

print('最小公倍数为',lcd(m,n))

if(gcm(m,n))==1:

    print('没有最大公约数!')

else:

    print('最大公约数为',gcm(m,n))

运行为:


你可能感兴趣的:(【基础】练习册8-Python3_最小公约数和最大公约数)