编写2个函数分别求最大公约数和最小公倍数。
时间: 2023-04-24 11:03:21 浏览: 58
函数1:求最大公约数
输入:两个正整数a和b
输出:a和b的最大公约数
算法:辗转相除法
代码:
```
def gcd(a, b):
while b:
a, b = b, a % b
return a
```
函数2:求最小公倍数
输入:两个正整数a和b
输出:a和b的最小公倍数
算法:最小公倍数等于两数之积除以最大公约数
代码:
```
def lcm(a, b):
return a * b // gcd(a, b)
```
相关问题
编写2个函数分别求最大公约数和最小公倍数
好的,以下是Python代码示例:
```python
def max_and_min(nums):
"""
求列表中的最大值和最小值
"""
max_num = float('-inf') # 初始值设为负无穷
min_num = float('inf') # 初始值设为正无穷
for num in nums:
if num > max_num:
max_num = num
if num < min_num:
min_num = num
return max_num, min_num
# 测试
nums = [1, 2, 3, 4, 5]
max_num, min_num = max_and_min(nums)
print('最大值:', max_num)
print('最小值:', min_num)
```
对于求最大公约数和最小公倍数,可以使用以下代码:
```python
def gcd(x, y):
"""
求两个数的最大公约数
"""
while y:
x, y = y, x % y
return x
def lcm(x, y):
"""
求两个数的最小公倍数
"""
return x * y // gcd(x, y)
# 测试
x, y = 12, 18
print('最大公约数:', gcd(x, y))
print('最小公倍数:', lcm(x, y))
```
C语言,编写2个函数分别求最大公约数和最小公倍数。
以下是求最大公约数和最小公倍数的C语言代码:
```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 a, b;
printf("请输入两个数:");
scanf("%d %d", &a, &b);
printf("最大公约数为:%d\n", gcd(a, b));
printf("最小公倍数为:%d\n", lcm(a, b));
return 0;
}
```
这里使用了辗转相除法来求最大公约数,使用两个数相乘除以它们的最大公约数来求最小公倍数。可以通过输入两个数来测试这个程序。