用c语言输入整数a、b,输出它们的最大公约数和最小公倍数。
时间: 2024-05-14 20:16:45 浏览: 19
好的,这是一个常见的数学问题,使用辗转相除法可以求出最大公约数,使用最大公约数求出最小公倍数。以下是代码示例:
```
#include <stdio.h>
int main() {
int a, b, temp, gcd, lcm;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
// 求最大公约数
temp = a % b;
while(temp != 0) {
a = b;
b = temp;
temp = a % b;
}
gcd = b;
// 求最小公倍数
lcm = (a * b) / gcd;
printf("%d和%d的最大公约数是%d\n", a, b, gcd);
printf("%d和%d的最小公倍数是%d\n", a, b, lcm);
return 0;
}
```
相关问题
用c语言输入两个正整数,输出它们的最大公约数和最小公倍数。
好的,这是一个数学问题,我会尽力帮助你解决。以下是C语言代码实现:
```c
#include <stdio.h>
int main()
{
int num1, num2, i, gcd, lcm;
printf("请输入两个正整数:\n");
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;
}
```
我们首先输入两个正整数,然后用for循环遍历1到两个数中较小的那个数,如果这个数同时是两个数的约数,那么就更新最大公约数的值。最后,我们可以用公式`最小公倍数 = 两数之积 / 最大公约数` 来求出最小公倍数。最后,我们输出结果。
希望这个代码能够帮助你解决问题!
用c语言写 输入2个正整数,输出它们的最大公约数和最小公倍数 这个程序
您好,这是一个关于 C 语言的问题,很高兴为您解答。下面是代码示例:
```c
#include <stdio.h>
int gcd(int a, int b); // 声明最大公约数函数
int lcm(int a, int b); // 声明最小公倍数函数
int main()
{
int a, b, max, min;
printf("请输入两个正整数:\n");
scanf("%d %d", &a, &b);
max = gcd(a, b); // 计算最大公约数
min = lcm(a, b); // 计算最小公倍数
printf("%d 和 %d 的最大公约数是:%d\n", a, b, max); // 输出最大公约数
printf("%d 和 %d 的最小公倍数是:%d\n", a, b, min); // 输出最小公倍数
return 0;
}
int gcd(int a, int b)
{
int t;
while (b != 0) // 辗转相除法求最大公约数
{
t = b;
b = a % b;
a = t;
}
return a;
}
int lcm(int a, int b)
{
int max;
max = (a > b) ? a : b;
while (1)
{
if (max % a == 0 && max % b == 0) // 找到最小公倍数
{
break;
}
++max;
}
return max;
}
```
希望能够解决您的问题。如果您还有其他问题,可以随时问我。