c语言输出最大公约数和最小公倍数
时间: 2023-11-30 07:39:41 浏览: 98
C语言可以利用循环或者函数来求最大公约数和最小公倍数。其中,求最大公约数可以使用辗转相除法或者定义法,求最小公倍数可以使用最大公约数来计算。以下是两种方法的代码实现:
1. 辗转相除法
```
#include <stdio.h>
int main(void) {
int m, n, t, a, b;
scanf("%d %d", &m, &n);
a = m;
b = n;
while (n != 0) {
t = m % n;
m = n;
n = t;
}
printf("最大公约数是:%d\n", m);
printf("最小公倍数是:%d\n", a / m * b);
return 0;
}
```
2. 定义法
```
#include <stdio.h>
int main() {
int a, b, i, j;
int max = 0;
scanf("%d%d", &a, &b);
for (i = a;; i++) {
if (i % a == 0 && i % b == 0) {
break;
}
}
for (j = 1; j <= a; j++) {
if (a % j == 0 && b % j == 0) {
if (max < j) {
max = j;
}
}
}
printf("最大公约数是:%d\n", max);
printf("最小公倍数是:%d\n", i);
return 0;
}
```
阅读全文