最大公约数计算。从键盘接收两个整数,编写程序求出这两个整数的最大公约数和最小公倍数(提示:求 最大公约数可用辗转相除法,求最小公倍数则用两数的积除以最大公约数即可)。
时间: 2024-12-03 20:32:30 浏览: 20
最大公约数(Greatest Common Divisor,简称GCD)是指两个或多个整数共有的最大的正因数。而辗转相除法,也称为欧几里得算法,是一种常用的求解最大公约数的有效方法。其基本思想是对于整数a和b(假设a>b),如果a能被b整除,那么b就是它们的最大公约数;否则,a除以b的余数c就是新的a,原来的b变成新的b,然后继续这个过程,直到余数为0,此时的除数即为最大公约数。
为了编写一个程序来计算这两个整数的最大公约数(GCD)和最小公倍数(Least Common Multiple,LCM),你可以按照以下步骤进行:
1. 获取用户输入的两个整数a和b。
2. 使用辗转相除法(或更简单的循环版本)计算GCD。例如,可以用while循环不断更新a和b,直到a等于b为止。
3. 计算最小公倍数,可以使用公式LCM(a, b) = |a * b| / GCD(a, b),因为绝对值保证了结果是非负的,并且已经是最小的那个整数倍。
以下是Python的一个简单示例:
```python
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)
# 输入
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
# 计算并打印结果
print(f"最大公约数 ({num1}, {num2}) = {gcd(num1, num2)}")
print(f"最小公倍数 ({num1}, {num2}) = {lcm(num1, num2)}")
```
阅读全文