小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。
每组输入包含两个正整数n和m。(1 ≤ n ≤ 109,1 ≤ m ≤ 109)
对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。
10 20
30
15 20
65
import math a,b=map(int,input().split()) gcd=math.gcd(a,b) lcm=math.lcm(a,b) print(int(gcd)+int(lcm))
n, m = map(int,input().split()) ma = max(n, m) mi = min(n, m) r = ma % mi while r != 0: ma = mi mi = r r = ma % mi print(int(mi + n*m//mi))
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题