方法一:
def fun(m, n):
'''
编写函数输入两个数m和n,分别输出这两个数的最大公约数和最小公倍数
:param m: 输入的第一个数
:param n: 输入的第二个数
:return: 返回最大公约数和最小公倍数
'''
num1 = 1
for i in range(1, m+1):
if m % i == 0 and n % i == 0:
num1 = i
num2 = (m/num1) * (n/num1)*num1
#print('最大公约数{}和最小公倍数{:.0f}'.format(num1,num2))
return ('最大公约数{}和最小公倍数{:.0f}'.format(num1,num2))
print(fun(5,7))
运行结果如下:
方法二:
def step1(m,n):
min_val = m
if min_val > n:
min_val = n
r1 = 1 # 最大公约数是r1
for i in range(2, min_val + 1):
if m % i == 0 and n % i == 0:
r1 = i
return r1
def step2(m,n):
max_val = m
if max_val < n:
max_val = n
r2 = m * n
for j in range(max_val, m * n + 1):
if j % n == 0 and j % m == 0:
r2 = j
break
return r2
def function(m, n):
return step1(m,n), step2(m,n)
r = function(5, 7)
print(r)
运行结果如下:
以上是我自己的简介及解法,刚刚入门不久,有问题可以私聊我,看见了会及时回复。