Python求公约数,由用户输入两个正整数,输出这两个正整数的所有公约数
时间: 2024-05-05 19:21:25 浏览: 70
输入两个正整数m和n,求其最大公约数和最小公倍数
可以使用辗转相除法求两个数的最大公约数,然后通过循环找到它们的所有公约数。
代码如下:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
# 求最大公约数
g = gcd(num1, num2)
# 找到所有公约数
factors = []
for i in range(1, g + 1):
if g % i == 0:
factors.append(i)
print("最大公约数为:", g)
print("所有公约数为:", factors)
```
输出结果:
```
请输入第一个正整数:12
请输入第二个正整数:18
最大公约数为: 6
所有公约数为: [1, 2, 3, 6]
```
阅读全文