用python语言写输入两个正整数,调用最大公约数函数求出它们的最大公约数;调用最小公倍数函数求取他们的最小公倍数。
时间: 2024-03-02 09:51:09 浏览: 96
好的,下面是一份实现上述功能的 Python 代码:
```python
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
return a * b // gcd(a, b)
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
print("{}和{}的最大公约数为:{}".format(a, b, gcd(a, b)))
print("{}和{}的最小公倍数为:{}".format(a, b, lcm(a, b)))
```
运行该程序后,会先要求用户输入两个正整数,然后调用 `gcd` 函数和 `lcm` 函数分别求出它们的最大公约数和最小公倍数,最后将结果输出到屏幕上。
相关问题
python输入两个正整数求最大公约数,和最小公倍数 函数
在Python中,你可以使用math库提供的gcd函数(最大公约数)和一些数学原理来计算两个正整数的最大公约数(GCD),然后利用公式(两数之积等于最大公约数乘以两数的最小公倍数)来求解最小公倍数(LCM)。下面是一个简单的函数示例:
```python
import math
def gcd_lcm(num1, num2):
def lcm(a, b):
return (a * b) // math.gcd(a, b)
# 计算最大公约数
gcd = math.gcd(num1, num2)
# 计算并返回最小公倍数
lcm_value = lcm(num1, num2)
return gcd, lcm_value
# 示例
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
result = gcd_lcm(num1, num2)
print(f"这两个数的最大公约数是 {result[0]},最小公倍数是 {result[1]}")
```
在这个函数中,首先导入math库,然后定义了一个嵌套函数`lcm`用于计算两数的最小公倍数。接着,调用`math.gcd`获取两个输入数字的最大公约数,最后通过两数乘积除以最大公约数得到最小公倍数,并将结果返回。
输入2个字函数分别求两个正整数的最大公约数和最小公倍数,用主函数调用这两个函数并输出结果
以下是Python实现输入两个正整数的最大公约数和最小公倍数的代码:
```python
def gcd(a, b):
"""
求两个正整数的最大公约数
"""
while b:
a, b = b, a % b
return a
def lcm(a, b):
"""
求两个正整数的最小公倍数
"""
return a * b // gcd(a, b)
num1, num2 = map(int, input("请输入两个正整数,并用逗号连接:").split(","))
print("{}和{}的最大公约数是:{}".format(num1, num2, gcd(num1, num2)))
print("{}和{}的最小公倍数是:{}".format(num1, num2, lcm(num1, num2)))
```
以下是C语言实现输入两个正整数的最大公约数和最小公倍数的代码:
```c
#include <stdio.h>
int gcd(int a, int b) {
/*
求两个正整数的最大公约数
*/
int temp;
while (b) {
temp = a % b;
a = b;
b = temp;
}
return a;
}
int lcm(int a, int b) {
/*
求两个正整数的最小公倍数
*/
return a * b / gcd(a, b);
}
int main() {
int num1, num2;
printf("请输入两个正整数:");
scanf("%d%d", &num1, &num2);
printf("%d和%d的最大公约数是:%d\n", num1, num2, gcd(num1, num2));
printf("%d和%d的最小公倍数是:%d\n", num1, num2, lcm(num1, num2));
return 0;
}
```
阅读全文