输入两个正整数,求其最大公约数和最小公倍数。c语言编程思路
时间: 2023-04-10 21:04:02 浏览: 221
可以使用辗转相除法来求最大公约数,先将两个数中较大的数赋值给变量a,较小的数赋值给变量b,然后用a除以b,得到余数r,如果r为0,则b即为最大公约数;否则将b赋值给a,将r赋值给b,继续进行相除操作,直到r为0为止。最小公倍数可以用两个数的乘积除以它们的最大公约数来求得。以下是C语言的代码实现:
```
#include <stdio.h>
int main()
{
int a, b, r, gcd, lcm;
printf("请输入两个正整数:\n");
scanf("%d%d", &a, &b);
// 求最大公约数
while (b != 0)
{
r = a % b;
a = b;
b = r;
}
gcd = a;
// 求最小公倍数
lcm = (a * b) / gcd;
printf("最大公约数为:%d\n", gcd);
printf("最小公倍数为:%d\n", lcm);
return 0;
}
```
相关问题
从键盘输入两个正整数,求其最大公因数和最小公倍数,C语言
在C语言中,我们可以使用欧几里得算法(Euclidean Algorithm)来求最大公约数(Greatest Common Divisor, GCD),然后利用性质 `gcd(a, b) * lcm(a, b) = a * b` 来计算最小公倍数(Least Common Multiple, LCM)。以下是简单的程序示例:
```c
#include <stdio.h>
// 函数声明:计算最大公约数
int gcd(int a, int b);
// 输入两个正整数
int main() {
int num1, num2;
printf("请输入两个正整数:");
scanf("%d %d", &num1, &num2);
// 检查输入是否为正整数
if (num1 <= 0 || num2 <= 0) {
printf("输入的数必须是非负整数。\n");
return 1;
}
// 计算最大公约数
int result = gcd(num1, num2);
printf("这两个数的最大公约数是:%d\n", result);
// 计算最小公倍数
int lcm = (num1 * num2) / result;
printf("这两个数的最小公倍数是:%d\n", lcm);
return 0;
}
// 欧几里得算法实现
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
```
从键盘输入两个正整数,求其最大公因数和最小公倍数。C语言
在C语言中,求两个正整数的最大公约数(Greatest Common Divisor,简称GCD)和最小公倍数(Least Common Multiple,简称LCM),可以使用欧几里得算法(Euclidean Algorithm)计算GCD,然后利用公式 `lcm(a, b) = |a * b| / gcd(a, b)` 来计算LCM。下面是简单的实现:
```c
#include <stdio.h>
// 求两个数的最大公约数
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
// 计算最小公倍数
int lcm(int a, int b) {
return abs(a * b) / gcd(a, b);
}
int main() {
int num1, num2;
printf("请输入两个正整数:\n");
scanf("%d %d", &num1, &num2);
printf("这两个数的最大公约数是:%d\n", gcd(num1, num2));
printf("这两个数的最小公倍数是:%d\n", lcm(num1, num2));
return 0;
}
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)