c语言中用for和continue求两个整数的最大公约数最小公倍数
时间: 2024-11-05 09:31:36 浏览: 34
在C语言中,可以使用for循环和continue关键字结合欧几里得算法(也称为辗转相除法)来计算两个整数的最大公约数(GCD)。最大公约数是指能同时整除两个或多个整数的最大的正整数。最小公倍数(LCM)则可以通过将两数相乘再除以它们的最大公约数得到。
下面是使用for循环和continue求解的示例:
```c
#include <stdio.h>
// 计算最大公约数 (Euclidean Algorithm)
int gcd(int a, int b) {
if (b == 0) {
return a; // 如果b为0,a就是GCD
} else {
// 使用continue跳过余数部分的计算
return gcd(b, a % b);
}
}
// 计算最小公倍数
int lcm(int a, int b) {
return (a * b) / gcd(a, b); // 最小公倍数 = 两数之积 / GCD
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
int gcd_value = gcd(num1, num2);
int lcm_value = lcm(num1, num2);
printf("最大公约数(GCD): %d\n", gcd_value);
printf("最小公倍数(LCM): %d\n", lcm_value);
return 0;
}
```
阅读全文