0 引言
通过程序,找出输入的两个数的最大公约数和最小公倍数,程序无法直接找出,需要通过循环先找出公约数,公倍数。然后再输出其中的最大公约数和最小公倍数。
1问题
输入两个数,找出最大公约数和最小公倍数。
2方法
先输入两个数,建立一个循环,找出从1到最小那个数中这两个数的公约数放入一个空列表中,染后求出最大的数。最小公倍数就为这两个数的积除最大公约数。
3实验结果与讨论
代码清单 1
def fan(a,b): list=[] n=min(a,b) for i in range(2,n+1): if a%i==0 and b%i==0: list.append(i) if list != []: k=int(max(list)) print('最大公约数%d'%k) else: print('没有最大公倍数') list_1=[] n=max(a,b) for i in range(1,n+1): for y in range(1,n+1): if a*i==b*y: m=a*i list_1.append(m) l=int(min(list_1)) print('最小公倍数%d'%l) a,b=map(eval,input('输入两个数:').split()) fan(a,b) |
4 结语
找公约数的过程中,需要注意循环的使用以及缩进问题,条件语句和循环共用,注意什么时候结束的。