从键盘输入两个正整数存储到变量m和n中,用辗转相除法求其最大公约数并输出,输出完数据后换行,不加任何提示信息,请填空完成相应功能。
时间: 2023-05-31 12:17:48 浏览: 457
### 回答1:
```
m = int(input())
n = int(input())
while n != :
r = m % n
m = n
n = r
print(m)
print()
```
### 回答2:
解题思路:
首先,需要从键盘输入两个正整数m和n,可以使用Python的input()函数进行输入操作。接下来,需要使用辗转相除法计算m和n的最大公约数,计算方法如下:
1. 计算m除以n的余数,记为r
2. 若r为0,则n即为最大公约数
3. 若r不为0,则用n除以r取整得到q和余数s,即n=rq+s
4. 将m赋值为原来的n,将n赋值为原来的r
5. 不断重复1-4步,直到r为0为止,此时n即为最大公约数
最后,使用Python的print()函数输出结果即可。
完整代码如下:
### 回答3:
输入:
```
m = int(input())
n = int(input())
```
辗转相除法:
辗转相除法是一种求最大公约数的算法,也叫欧几里得算法。
首先比较m和n的大小,如果m比n小,则交换m和n的值。
然后,求m和n的余数r,将n的值赋给m,将r的值赋给n。
重复上述步骤,直到r等于0,此时n就是m和n的最大公约数。
代码如下:
```
if m < n:
m, n = n, m
while n != 0:
r = m % n
m, n = n, r
print(m, end="\n")
```
完整代码如下:
```
m = int(input())
n = int(input())
if m < n:
m, n = n, m
while n != 0:
r = m % n
m, n = n, r
print(m, end="\n")
```
阅读全文