问题:公约数和公倍数

python学习

题目:输出两个数的最大公约数和最小公倍数,

解题思路

先将较大的数和较小的数求出来

创建一个空列表

然后对小的数做循环

找两个数的公因数加入空列表中

在用max函数求最大值即为最大公约数

再通过最大公约数求最小公倍数。

具体代码如下

x = int(input("请输入一个数:"))
y = int(input("再输入一个数:"))
m = max(x,y)
n = min(x,y)
l = []
for i in range(1,n+1):
    if (m % i == 0) and (n % i == 0):
        l.append(i)
a = max(l)
print(f'最大公约数为:{a}')
b = m * n / a
b = int(b)
print(f'最小公倍数为:{b}')

注意循环时要到n+1,才会循环到n。

posted @ 2022-10-24 21:41  牛鱼针  阅读(29)  评论(0)    收藏  举报