写两个函数求最大公约数,最小公倍数c语言
时间: 2024-06-14 14:04:11 浏览: 92
C语言求最大公约数和最小公倍数
以下是两种C语言写的求最大公约数和最小公倍数的函数:
方法一:利用定义法求最大公约数和最小公倍数
```c
#include <stdio.h>
int gcd(int a, int b) {
int max = 0;
for (int i = 1; i <= a && i <= b; i++) {
if (a % i == 0 && b % i == 0) {
max = i;
}
}
return max;
}
int lcm(int a, int b) {
int i;
for (i = a;; i++) {
if (i % a == 0 && i % b == 0) {
break;
}
}
return i;
}
int main() {
int a, b;
scanf("%d%d", &a, &b);
int max = gcd(a, b);
int min = lcm(a, b);
printf("%d %d\n", min, max);
return 0;
}
```
方法二:最小公倍数求法同上,最大公约数方法不同
```c
#include <stdio.h>
int gcd(int a, int b) {
int max = 0;
for (int i = a;; i--) {
if (a % i == 0 && b % i == 0) {
max = i;
break;
}
}
return max;
}
int lcm(int a, int b) {
int i;
for (i = a;; i++) {
if (i % a == 0 && i % b == 0) {
break;
}
}
return i;
}
int main() {
int a, b;
scanf("%d%d", &a, &b);
int max = gcd(a, b);
int min = lcm(a, b);
printf("%d %d\n", min, max);
return 0;
}
```
阅读全文