C语言如何求最大公约数?
时间: 2024-06-14 20:03:49 浏览: 50
以下是两种C语言求最大公约数的例子:
1. 辗转相除法
```c
#include <stdio.h>
int main() {
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int c;
if (a >= b) {
c = a % b;
while (c != 0) {
a = b;
b = c;
c = a % b;
}
printf("最大公约数为:%d", b);
} else {
int d = b % a;
while (d != 0) {
b = a;
a = d;
d = b % a;
}
printf("最大公约数为:%d", a);
}
return 0;
}
```
2. 辗转相减法
```c
#include <stdio.h>
int main() {
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
while ((a - b) != 0) {
if (a > b) {
a = a - b;
} else {
b = b - a;
}
}
printf("%d", b);
return 0;
}
```