python编程 求两个正整数的最大公约数
时间: 2023-12-25 22:46:43 浏览: 115
可以使用辗转相除法来求两个正整数的最大公约数。
代码如下:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
```
其中,a和b分别为两个正整数,while循环中不断将b赋值为a除以b的余数,直到余数为0,此时a就是两个正整数的最大公约数。
相关问题
python编程求两个给定正整数的最大公约数和最小公倍数
好的,这个问题属于数学问题,我可以回答。最大公约数可以通过Euclid算法计算,最小公倍数可以通过最大公约数算出。以下是Python代码示例:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
a = 24
b = 36
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
Python用户通过键盘输入两个正整数,编程求这两个正整数的最小公倍数和最大公约数,并输出结果。
可以使用辗转相除法来求最大公约数,使用最小公倍数等于两数之积除以最大公约数的公式来求最小公倍数。具体实现如下:
```python
def gcd(a, b):
"""
求最大公约数
"""
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
"""
求最小公倍数
"""
return a * b // gcd(a, b)
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
运行程序后,输入两个正整数即可得到输出结果。
阅读全文