请请用c语言来写一个程序,输入两个数,输出最大公约数和最小公倍数
时间: 2023-06-05 18:08:19 浏览: 86
非常感谢您的提问!以下是C语言代码实现输入两个数,输出最大公约数和最小公倍数的程序:
```c
#include <stdio.h>
int main()
{
int num1, num2, max, min, i;
printf("请输入两个正整数:\n");
scanf("%d %d", &num1, &num2);
max = num1 > num2 ? num1 : num2;
min = num1 < num2 ? num1 : num2;
for (i = min; i >= 1; i--)
{
if (max % i == 0 && min % i == 0)
{
printf("最大公约数为:%d\n", i);
printf("最小公倍数为:%d\n", max * min / i);
break;
}
}
return 0;
}
```
希望以上代码对您有所帮助。如果您还有其他问题,欢迎继续提问。
相关问题
使用用c语言写一段程序用于求两个数的最大公约数和最小公倍数
以下是使用 C 语言编写的程序,用于计算两个数的最大公约数和最小公倍数:
```c
#include <stdio.h>
int main()
{
int num1, num2, i, gcd, lcm;
printf("Enter two numbers: ");
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("The GCD of %d and %d is %d\n", num1, num2, gcd);
printf("The LCM of %d and %d is %d\n", num1, num2, lcm);
return 0;
}
```
在这个程序中,我们首先接收用户输入的两个数字,并使用循环计算它们的最大公约数。然后,我们使用最大公约数计算最小公倍数,并将其打印到屏幕上。
用C语言写一段程序求两个数的最大公约数最小公倍数
在C语言中,我们可以使用欧几里得算法(辗转相除法)来计算两个数的最大公约数(Greatest Common Divisor,简称GCD),然后通过两个数除以最大公约数得到它们的最小公倍数(Least Common Multiple,简称LCM)。这里是一个简单的示例:
```c
#include <stdio.h>
// 求最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 计算最小公倍数
int lcm(int a, int b) {
int temp = gcd(a, b); // 先求最大公约数
return (a * b) / temp; // 最小公倍数等于两数乘积除以最大公约数
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
printf("这两个数的最大公约数是:%d\n", gcd(num1, num2));
printf("这两个数的最小公倍数是:%d\n", lcm(num1, num2));
return 0;
}
```
在这个程序中,首先定义了一个递归函数`gcd`用于计算最大公约数,然后在主函数中获取用户输入的两个数,调用这两个函数并输出结果。
阅读全文