用C语言做。求m和n的最大公约数。求m和n的最大公约数,其中m和n从键盘输入。输入格式:例如:在一行中输入2个整数,中间用空格分隔。输出格式:例如:输出m和n的最大公约数。
时间: 2024-03-23 15:38:56 浏览: 41
好的,这是一个求最大公约数的C语言程序,可以满足您的需求:
```c
#include <stdio.h>
int main() {
int m, n, r;
printf("请输入两个整数m和n(用空格分隔):");
scanf("%d %d", &m, &n);
while(n != 0) {
r = m % n;
m = n;
n = r;
}
printf("最大公约数为:%d\n", m);
return 0;
}
```
这个程序使用了辗转相除法求最大公约数,即从两个数中较小的数开始,用较大的数去除它,再用余数去除刚才的除数,如此循环,直到余数为0时,最后的被除数即为最大公约数。
相关问题
用C需要做。7-125-4求m和n的最大公约数求m和n的最大公约数,其中m和n从键盘输入。输入格式:例如:在一行中输入2个整数,中间用空格分隔。输出格式:例如:输出m和n的最大公约数。输入样例:6 9。输出样例:6和9的最大公约数是3。
好的,这是一个求最大公约数的问题,可以使用辗转相除法来解决。我可以给您提供一个C语言的解法,您可以将以下代码保存为一个.c文件并编译运行:
```c
#include <stdio.h>
int gcd(int a, int b);
int main() {
int m, n;
printf("请输入两个整数:");
scanf("%d%d", &m, &n);
printf("%d和%d的最大公约数是%d\n", m, n, gcd(m, n));
return 0;
}
int gcd(int a, int b) {
int r;
while (b > 0) {
r = a % b;
a = b;
b = r;
}
return a;
}
```
这段代码中,gcd函数即为辗转相除法求解最大公约数的函数,主函数中通过scanf从键盘输入两个整数,然后调用gcd函数求解最大公约数并输出结果。
用C语言编写函数,求最大公约数:从键盘输入两个整数m和n,用min表示其中较小的一个,然后通过循环求出在2--min之间,能够整除m和n的最大数,记为div。
好的,我来给你写一个求最大公约数的 C 语言函数:
```c
#include <stdio.h>
int gcd(int m, int n) {
int min = m < n ? m : n;
int div = 1;
for (int i = 2; i <= min; i++) {
if (m % i == 0 && n % i == 0) {
div = i;
}
}
return div;
}
int main() {
int m, n;
printf("请输入两个整数m和n:");
scanf("%d%d", &m, &n);
int result = gcd(m, n);
printf("最大公约数为:%d\n", result);
return 0;
}
```
这个函数中,我们首先用 `min` 变量表示两个数中较小的一个。然后循环从 2 开始到 `min` 结束,判断能够同时整除 `m` 和 `n` 的最大数,并用 `div` 变量记录下来。最后返回 `div` 即可。在 `main` 函数中,我们调用 `gcd` 函数并输出结果。
阅读全文