p ython求最大公约数和最小公倍数
时间: 2023-07-30 17:12:22 浏览: 112
求最大公约数可以使用辗转相除法,也叫欧几里得算法,代码如下:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
```
求最小公倍数可以通过最大公约数公式求得,代码如下:
```python
def lcm(a, b):
return a * b // gcd(a, b)
```
其中 `//` 表示整除运算符。
相关问题
c++ 求最大公约数和最小公倍数
以下是使用C++求最大公约数和最小公倍数的示例代码:
1. 求最大公约数:
```cpp
#include <iostream>
using namespace std;
int gcd(int a, int b) {
if (b == 0)
return a;
return gcd(b, a % b);
}
int main() {
int a, b;
cout << "请输入两个整数:" << endl;
cin >> a >> b;
int result = gcd(a, b);
cout << "最大公约数为:" << result << endl;
return 0;
}
```
2. 求最小公倍数:
```cpp
#include <iostream>
using namespace std;
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);
}
int main() {
int a, b;
cout << "请输入两个整数:" << endl;
cin >> a >> b;
int result = lcm(a, b);
cout << "最小公倍数为:" << result << endl;
return 0;
}
```
p ython求两个数的最大公约数
可以使用辗转相除法求两个数的最大公约数,代码如下:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
```
其中,a 和 b 是需要求最大公约数的两个数。函数内部使用递归方式实现求解最大公约数,当 b 等于 0 时,返回 a,否则返回 gcd(b, a % b)。