使用while计算两个数的最大公约数。 ⑴ 输入两个整数m、n,并求m除以n的余数k。 ⑵ 当k≠0,将除数n作为被除数m,余数k作为除数n,继续求m除以n的余数k;反复做第⑵步,直到余数为0结束循环。 ⑶ 结束循环后,除数n就是m与n的最大公约数
时间: 2024-10-18 22:15:42 浏览: 44
输入两个正整数m和n,求最小公倍数,与最大公约数 (2).pdf
为了使用while循环计算两个数m和n的最大公约数(GCD),你可以按照以下步骤操作:
1. **输入数据**:首先,从用户那里获取两个整数m和n,通常通过`scanf`函数读取。
2. **初始化变量并设置条件**:声明一个整型变量k初始为n,然后进入while循环。条件是k不等于0,因为当k为0时,意味着m能被n整除,此时n就是它们的公约数。
```c
int m, n, k = n;
printf("请输入两个整数m和n:");
scanf("%d %d", &m, &n);
```
3. **循环计算**:在循环内部,计算m除以n的余数k,并更新m和n的位置。将m赋值给原来的n,将k赋值给原来的m对n的余数。
```c
while (k != 0) {
int new_n = m;
m = k;
k = new_n % n;
}
```
4. **得到结果**:当循环结束后,n的值就是m和n的最大公约数,可以将其打印出来。
```c
printf("m和n的最大公约数是:%d\n", n);
```
5. **结束程序**:最后记得关闭主函数。
以上就是在C语言中利用while循环计算两个数最大公约数的简单流程。
阅读全文