1011: [编程入门]最大公约数与最小公倍数

问题 1011: [编程入门]最大公约数与最小公倍数

时间限制: 1Sec 内存限制: 128MB 提交: 9720 解决: 5417

题目描述
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入
两个整数
输出
最大公约数,最小公倍数
样例输入
5 7
样例输出
1 35
# 使用辗转相除法
# 最大公约数c:            最小公倍数:a*b/c
# a>b; 
# while (a/b余数c!=0){
#     a = b
#     b = c
#}
# c为最大公约数
def gcd(a, b): #求最大公约数
    if b > a: #交换a和b
        temp = a
        a = b
        b = temp
    c = a % b
    while c!=0:
        a = b
        b = c
        c = a%b
    return b

def lcm(a, b): #求最小公倍数
    temp = gcd(a, b)
    return a*b/temp

a, b = map(int,input().strip().split())
temp1 = gcd(a,b)
temp2 = lcm(a,b)
temp2 = int(temp2)
print(temp1, temp2)


 

posted @ 2019-06-13 01:28  张幼安  阅读(453)  评论(0编辑  收藏  举报