分享

求最大公约数和最小公倍数

 算法与编程之美 2022-07-18 发布于四川

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 结语

找公约数的过程中,需要注意循环的使用以及缩进问题,条件语句和循环共用,注意什么时候结束的。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多