두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
24 18
6
72
a, b = map(int, input().split())
min = min(a, b); max = max(a, b); factor = [min]; gcf = 0
for n in range(min - 1, 1, -1):
if min % n == 0:
factor.append(n)
for n in factor:
if max % n == 0:
gcf = n
break
if gcf == 0:
print(1)
print(a * b)
else:
print(gcf)
print(a * b // gcf)