输入两个整数求最大公约数最小公倍数
时间: 2024-05-09 12:21:27 浏览: 78
以下是Python代码实现:
```python
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)
a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
```
输出示例:
```
请输入第一个整数:24
请输入第二个整数:36
最大公约数为: 12
最小公倍数为: 72
```
相关问题
输入两个整数求最大公约数和最小公倍数
求最大公约数可以使用辗转相除法,求最小公倍数可以使用两数相乘再除以最大公约数。
具体实现如下:
1. 辗转相除法:
a = max(a, b)
b = min(a, b)
while b != 0:
r = a % b
a = b
b = r
return a
2. 求最小公倍数:
return a * b // gcd(a, b)
其中a,b为两个整数。
c语言输入两个整数求最大公约数和最小公倍数
输入两个整数,求它们的最大公约数和最小公倍数,可以使用以下方法:
1. 首先,定义两个变量a和b,分别表示输入的两个整数。
2. 然后,使用辗转相除法求最大公约数。具体方法是,用较大的数除以较小的数,得到余数,然后用较小的数除以余数,再得到余数,如此循环,直到余数为0,此时较小的数就是最大公约数。
3. 最小公倍数可以通过最大公约数求得,方法是,将两个数相乘,然后除以它们的最大公约数。
下面是具体的代码实现:
#include <stdio.h>
int main()
{
int a, b, max, min, temp;
printf("请输入两个整数:\n");
scanf("%d%d", &a, &b);
max = a > b ? a : b; // 求最大值
min = a < b ? a : b; // 求最小值
// 求最大公约数
while (min != 0)
{
temp = max % min;
max = min;
min = temp;
}
printf("最大公约数为:%d\n", max);
printf("最小公倍数为:%d\n", a * b / max);
return 0;
}
阅读全文
相关推荐
![java](https://img-home.csdnimg.cn/images/20250102104920.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)