用while循环语句求出两个正整数的最大公约数
时间: 2024-05-10 15:18:21 浏览: 130
计算两个整数的最大公约数
5星 · 资源好评率100%
可以使用欧几里得算法(辗转相除法)来求解两个正整数的最大公约数。
算法思路如下:
1. 输入两个正整数a和b;
2. 比较a和b的大小,将较小的数赋值给r;
3. 用a除以b,将余数赋值给r;
4. 如果r等于0,那么b就是最大公约数,结束循环;
5. 如果r不等于0,将b赋值给a,将r赋值给b,返回第3步。
下面是使用while循环语句实现最大公约数的代码:
```python
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
# 比较a和b的大小,将较小的数赋值给r
if a < b:
r = a
a = b
b = r
else:
r = b
# 使用欧几里得算法求最大公约数
while r != 0:
r = a % b
a = b
b = r
print("最大公约数为:", a)
```
需要注意的是,输入的两个数必须为正整数,否则程序会出错。
阅读全文