题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
代码如下:
m=m1=eval(input('请输入第一个正整数:'))
n=n1=eval(input('请输入第二个正整数:'))
if m1>=n1: #判断m和n哪个为较大的数
while n1 !=0 : #较小的数为0时,返回的大数即为最大公约数
a=m1%n1
m1=n1 #将小数作为下一轮循环的大数
n1=a #将大数除于小数得到的的余数作为下一轮循环的小数
u = (m * n) // m1 #最小公倍数为两数之积除以最大公约数
print('最大公约数%d\n最小公倍数%d'%(m1,u))
else:
while m1 != 0:
a=n1%m1
n1=m1
m1=a
u = (m * n) // n1
print('最大公约数%d\n最小公倍数%d'%(n1,u))
运行结果:
请输入第一个正整数:14
请输入第二个正整数:4
最大公约数2
最小公倍数28进程已结束,退出代码0