最大公约数计算。从键盘接收两个整数,编写程序求出这两个整数的最大公约数和最小公倍数(提示:求最大公约数可用辗转相除法,求最小公倍数则用两数的积除以最大公约数即可)
时间: 2024-10-24 18:18:22 浏览: 62
python 输入两个正整数计算最大公约数和最小公倍数 示例
5星 · 资源好评率100%
最大公约数(Greatest Common Divisor, GCD)是指两个或多个整数共有的最大的正因数。辗转相除法,也称为欧几里得算法,是一种常见的求最大公约数的方法。其基本思想是:对于两个整数a和b(a > b),如果a能被b整除,则b就是它们的最大公约数;否则,a除以b的余数c(即a = bq + r, 0 <= r < b)就是新的两个数,然后继续这个过程,直到余数为零,此时的除数就是原来两个数的最大公约数。
最小公倍数(Least Common Multiple, LCM)则是两个数共有的最小正倍数,可以利用公式LCM(a, b) = |a * b| / GCD(a, b) 来计算。其中“| |”表示取绝对值,因为即便两个数有负号,他们的乘积结果的绝对值仍然是它们的最小公倍数。
下面是一个简单的Python示例,演示了如何通过辗转相除法计算最大公约数:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
# 用户输入两个整数
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
# 计算并打印最大公约数
print(f"最大公约数(GCD): {gcd(num1, num2)}")
# 使用上面的公式计算并打印最小公倍数
lcm = abs(num1 * num2) // gcd(num1, num2)
print(f"最小公倍数(LCM): {lcm}")
```
阅读全文