本题要求两个给定正整数的最大公约数和最小公倍数。
输入格式:
输入在一行中给出两个正整数M和N(≤1000)。
输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。
输入样例:
511 292
输出样例:
73 2044
解答代码:
m,n = input().split()
m = int(m)
n = int(n)
max_divisor = 0
min_multiple = 0
if m > n:
num1 = m
num2 = n
else :
num1 = n
num2 = m
lim1 = int(num2)
lim2 = int(num1*num2)
for i in range (1,lim1+1):
if num1 % i == 0 :
if num2 % i == 0:
max_divisor = i
flag = False
for i in range (num1,lim2+1):
if flag == False:
if i % num1 == 0:
if i % num2 == 0:
min_multiple = i
flag = True
print("{0:d} {1:d}".format(max_divisor,min_multiple))