c语言表达输入两个正整数,输出它们的最大公约数和最小公倍数。 输入格式: 输入在一行中给出2个正整数,中间以空格分隔。 输出格式: 在一行中输出两个正整数的最大公约数和最小公倍数中,中间以空格分隔。
时间: 2024-11-04 20:13:54 浏览: 111
在C语言中,可以使用欧几里得算法(Euclidean algorithm)来计算最大公约数(GCD),而最小公倍数(LCM)通常通过公式 `LCM(a, b) = |a * b| / GCD(a, b)` 来求得。下面是一个简单的示例程序:
```c
#include <stdio.h>
// 求最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 输出最大公约数和最小公倍数
void find_gcd_lcm(int num1, int num2) {
printf("最大公约数: %d\n", gcd(num1, num2));
int lcm = abs(num1 * num2) / gcd(num1, num2);
printf("最小公倍数: %d\n", lcm);
}
int main() {
int num1, num2;
// 输入两个正整数
scanf("%d %d", &num1, &num2);
// 计算并输出结果
find_gcd_lcm(num1, num2);
return 0;
}
```
在这个程序中,`gcd()` 函数递归地计算两个数的最大公约数,然后`find_gcd_lcm()` 函数负责获取输入、调用`gcd()` 和计算最小公倍数。
相关问题
使用c语言完成两个给定正整数的最大公约数和最小公倍数。 输入格式: 输入在一行中给出两个正整数M和N(<1000)。 输出格式: 在一行中顺序输出MMON的最大公约数和最小公倍数,两数字间以1空格分隔。
在C语言中,计算两个正整数的最大公约数(GCD,Greatest Common Divisor)和最小公倍数(LCM,Least Common Multiple)可以使用欧几里得算法(Euclidean Algorithm)和公式 `LCM(a, b) = |a * b| / GCD(a, b)` 来实现。以下是一个简单的示例程序,你可以按照这个思路编写:
```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) {
return (a * b) / gcd(a, b);
}
int main() {
int M, N;
// 输入两个正整数
scanf("%d %d", &M, &N);
// 计算并输出结果
printf("最大公约数: %d ", gcd(M, N));
printf("最小公倍数: %d\n", lcm(M, N));
return 0;
}
```
这个程序首先读取用户输入的两个正整数 M 和 N,然后分别计算它们的最大公约数和最小公倍数,并将结果打印出来。注意,当输入的是较小的非零数时,`gcd` 函数会递归地计算直到找到零为止。
用C语言实现:输入两个正整数,输出它们的最大公约数和最小公倍数。 输入格式: 在一行中给出2个正整数。 输出格式: 分别输出最大公约数和最小公倍数,中间一个空格隔开。 输入样例: 在这里给出一组输入。例如: 24 36 输出样例: 在这里给出相应的输出。例如: 12 72
以下是C语言的实现代码:
```c
#include <stdio.h>
int gcd(int a, int b);
int lcm(int a, int b);
int main()
{
int a, b;
printf("请输入两个正整数:");
scanf("%d %d", &a, &b);
printf("它们的最大公约数为:%d,最小公倍数为:%d\n", gcd(a, b), lcm(a, b));
return 0;
}
int gcd(int a, int b)
{
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
int lcm(int a, int b)
{
return a * b / gcd(a, b);
}
```
运行结果:
```
请输入两个正整数:24 36
它们的最大公约数为:12,最小公倍数为:72
```
其中,`gcd`函数用于计算最大公约数,采用递归实现;`lcm`函数用于计算最小公倍数,直接利用最大公约数求得。
阅读全文
相关推荐











