c语言用for语句求两数的最大公约数和最小公倍数
时间: 2023-12-03 12:38:12 浏览: 44
可以使用for语句来求两数的最大公约数和最小公倍数,具体实现如下:\```\#inclu <stdi.h>\n\i mai() {\ i , b, i, g, lcm;\ printf(\请输入两个正整数:\\\");\ scanf(\"% %\", &, &b);\ for (i = 1; i <= && i <= b; i++) {\ if ( % i == && b % i == ) {\ g = i;\ }\ }\ lcm = * b / g;\ printf(\最大公约数为:%\\\", g);\ printf(\最小公倍数为:%\\\", lcm);\ retur ;\}\```\
相关问题
c语言用for语句求最大公约数和最小公倍数
最大公约数(GCD)和最小公倍数(LCM)是两个整数的常见数学概念。以下是使用 for 循环语句求解最大公约数和最小公倍数的示例代码:
```c
#include <stdio.h>
int main() {
int num1, num2, i, gcd, lcm;
printf("输入两个正整数: ");
scanf("%d %d", &num1, &num2);
// 求最大公约数
for (i = 1; i <= num1 && i <= num2; ++i) {
if (num1 % i == 0 && num2 % i == 0)
gcd = i;
}
// 求最小公倍数
lcm = (num1 * num2) / gcd;
printf("最大公约数为 %d\n", gcd);
printf("最小公倍数为 %d\n", lcm);
return 0;
}
```
在上面的代码中,我们首先通过 `scanf()` 函数接收两个正整数 `num1` 和 `num2`。然后使用 for 循环语句计算最大公约数和最小公倍数。在 for 循环语句中,我们从 1 到两个输入整数的较小值遍历,如果整数 `i` 可以同时被 `num1` 和 `num2` 整除,则将其作为最大公约数。最后,我们通过 `(num1 * num2) / gcd` 计算最小公倍数。
注意:在上述代码中,我们假设输入的两个整数都是正整数。如果输入的整数不是正整数,则需要添加正确的输入验证。
c语言用while语句求最大公约数和最小公倍数。
以下是用 while 循环语句求解最大公约数和最小公倍数的示例代码:
```c
#include <stdio.h>
int main() {
int num1, num2, gcd, lcm, temp;
printf("请输入两个正整数,用空格分隔:");
scanf("%d %d", &num1, &num2);
// 求最大公约数
while (num2 != 0) {
temp = num2;
num2 = num1 % num2;
num1 = temp;
}
gcd = num1;
// 求最小公倍数
lcm = num1 * (num2 / gcd);
printf("%d和%d的最大公约数为%d,最小公倍数为%d\n", num1, num2, gcd, lcm);
return 0;
}
```
以上代码中使用了辗转相除法来求最大公约数,然后用两个数的乘积除以最大公约数来求最小公倍数。