c语言循环求最大公约数和最小公倍数
时间: 2023-12-03 17:38:55 浏览: 138
以下是用C语言循环求最大公约数和最小公倍数的方法:
方法一:利用辗转相除法求最大公约数和最小公倍数
```c
#include <stdio.h>
int main() {
int a, b, temp, gcd, lcm;
scanf("%d%d", &a, &b);
int m = a, n = b;
while (n != 0) { // 辗转相除法求最大公约数
temp = m % n;
m = n;
n = temp;
}
gcd = m;
lcm = a * b / gcd; // 最小公倍数等于两数之积除以最大公约数
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
```
方法二:利用循环法求最大公约数和最小公倍数
```c
#include <stdio.h>
int main() {
int a, b, i, gcd, lcm;
scanf("%d%d", &a, &b);
for (i = 1; i <= a && i <= b; i++) { // 循环法求最大公约数
if (a % i == 0 && b % i == 0) {
gcd = i;
}
}
lcm = a * b / gcd; // 最小公倍数等于两数之积除以最大公约数
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
```
阅读全文