n, m = map(int,input().split())
def gcd(n, m):
while m>0:
n, m = m, n % m
return n
def lcm(n, m):
return n*m//gcd(n, m)
print(gcd(n, m))
print(lcm(n, m))
유클리드 호제법을 사용하여 푸는 문제이다.
- n, m의 최대공약수 : m, n을 m으로 나눈 나머지의 최대공약수
- n, m의 최소공배수 : n과 b의 곱을 n과 m의 최대공약수로 나눈 값