c语言两个整数最大公约数
时间: 2023-07-03 15:18:35 浏览: 79
可以使用辗转相除法来求解两个整数的最大公约数,具体实现如下:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
} else {
return gcd(b, a % b);
}
}
int main() {
int a, b, result;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
result = gcd(a, b);
printf("%d 和 %d 的最大公约数是:%d", a, b, result);
return 0;
}
```
上述代码中,定义了一个 `gcd` 函数来实现辗转相除法,然后在 `main` 函数中读入两个整数,并调用 `gcd` 函数来计算它们的最大公约数。最后将结果输出即可。
相关问题
C语言两个整数最大公约数
以下是两种C语言求两个整数最大公约数的方法:
1.辗转相除法
```c
#include <stdio.h>
int main() {
int a, b;
int c = 0;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
c = (a > b) ? b : a; //三目运算符 将最小的赋给c
while (a % c != 0 || b % c != 0) {
c--;
}
printf("最大公约数为:%d\n", c);
return 0;
}
```
2.更相减损法
```c
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
c = a % b;
while (c != 0) {
a = b;
b = c;
c = a % b;
}
printf("最大公约数为:%d", b);
return 0;
}
```
c语言两个整数的最大公约数
以下是两种C语言求两个整数最大公约数的方法:
1.辗转相除法
```c
#include <stdio.h>
int main() {
int a, b;
int c = 0;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
c = (a > b) ? b : a; //三目运算符 将最小的赋给c
while (a % c != 0 || b % c != 0) {
c--;
}
printf("最大公约数为:%d\n", c);
return 0;
}
```
2.更相减损法
```c
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
c = a % b;
while (c != 0) {
a = b;
b = c;
c = a % b;
}
printf("最大公约数为:%d", b);
return 0;
}
```
阅读全文