用c++写一个代码输入两个整数,求这两个整数的最大公约数和最小公倍数
时间: 2023-03-14 13:17:41 浏览: 135
#include <stdio.h>int main()
{
int num1, num2;
int max, min;
printf("请输入两个整数: ");
scanf("%d %d", &num1, &num2);
//求最大公约数
max = num1 > num2 ? num1 : num2;
while (max % num1 != 0 || max % num2 != 0)
{
max++;
}
//求最小公倍数
min = num1 < num2 ? num1 : num2;
while (num1 % min != 0 || num2 % min != 0)
{
min++;
}
printf("最大公约数是:%d\n", max);
printf("最小公倍数是:%d\n", min);
return 0;
}
相关问题
c++写一个函数,求两个整数的最大公约数和最小公倍数,最大公约数和最小公倍数分别用函数实现,并输出结果,两个整数由键盘输入
在C++中,你可以创建两个函数,一个用于计算最大公约数(GCD),另一个用于计算最小公倍数(LCM)。这两个函数通常可以使用辗转相除法(欧几里得算法)来找到GCD,然后通过GCD和乘积来得到LCM。下面是一个简单的实现:
```cpp
#include <iostream>
using namespace std;
// 函数来计算最大公约数 (GCD)
int gcd(int a, int b) {
if (b == 0)
return a;
else
return gcd(b, a % b);
}
// 函数来计算最小公倍数 (LCM)
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
// 主函数,获取用户输入并计算结果
void calculateGCDandLCM() {
int num1, num2;
cout << "请输入第一个整数: ";
cin >> num1;
cout << "请输入第二个整数: ";
cin >> num2;
// 计算GCD
int resultGCD = gcd(num1, num2);
cout << "最大公约数 (GCD): " << resultGCD << endl;
// 计算LCM
int resultLCM = lcm(num1, num2);
cout << "最小公倍数 (LCM): " << resultLCM << endl;
}
int main() {
calculateGCDandLCM();
return 0;
}
```
在这个程序中,用户会看到提示询问输入两个整数,然后它将打印出它们的最大公约数和最小公倍数。
c++输入两个正整数求最大公约数和最小公倍数
以下是Python代码实现:
```python
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
# 求最大公约数
def gcd(x, y):
if y == 0:
return x
else:
return gcd(y, x % y)
# 求最小公倍数
def lcm(x, y):
return x * y // gcd(x, y)
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
示例输出:
```
请输入第一个正整数:12
请输入第二个正整数:18
最大公约数为: 6
最小公倍数为: 36
```
阅读全文
相关推荐













