代码如下:
#编写并测试最小公约数和最大公约数
def lcd(m,n):
#最小公倍数
for i in range(max(m,n),m*n+1):
if i%m==0 and i%n==0:
break
return i
def gcm(m,n):
#最小公约数
for j in range(2,min(m,n)+1):
if m//j==0 and n//j==0:
break
if j==min(m,n) and m//j!=0 and n//j!=0:
j=1
return j
while True:
m=int(input('请输入第一个正整数:'))
if m>0:
break
else:
print('输入错误,请重新输入')
while True:
n=int(input('请输入第二个正整数:'))
if n>0:
break
else:
print('输入错误,请重新输入')
print('最小公倍数为',lcd(m,n))
if(gcm(m,n))==1:
print('没有最大公约数!')
else:
print('最大公约数为',gcm(m,n))
运行为: