编写程序,输入三位正整数a、b和c,要求能输出a、b和c的最大公约数和最小公倍数。
时间: 2024-10-17 21:14:25 浏览: 16
要编写一个程序来找到三个正整数a、b和c的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM),你可以使用欧几里得算法(辗转相除法)来求最大公约数,并利用GCD和LCM的关系来求最小公倍数。以下是Python的一个例子:
```python
import math
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return abs(a * b) // gcd(a, b)
def find_gcd_lcm(a, b, c):
a_gcd_bc = gcd(a, gcd(b, c))
lcm_ab = lcm(a, b)
lcm_all = lcm(lcm_ab, c)
return a_gcd_bc, lcm_all
# 输入三个正整数
a = int(input("请输入第一个正整数: "))
b = int(input("请输入第二个正整数: "))
c = int(input("请输入第三个正整数: "))
gcd_result, lcm_result = find_gcd_lcm(a, b, c)
print(f"这三个数的最大公约数是: {gcd_result}")
print(f"这三个数的最小公倍数是: {lcm_result}")
```
在这个程序中,我们先定义了两个辅助函数`gcd`和`lcm`,然后创建了一个`find_gcd_lcm`函数来计算给定三数的最大公约数和最小公倍数。
阅读全文