应用程序设计,计算两个非零正整数么最大公约数和最小公倍数,要求两个非零正整数从键盘输入
时间: 2024-10-16 18:14:47 浏览: 24
在应用程序设计中,求两个非零正整数的最大公约数(Greatest Common Divisor,GCD)和最小公倍数(Least Common Multiple,LCM),通常会采用欧几里得算法(Euclidean Algorithm)来计算GCD,然后利用公式 GCD(a, b) * LCM(a, b) = a * b 来确定LCM。
以下是步骤概述:
1. **用户输入**:首先,从键盘接收两个非零正整数a和b作为输入。
2. **输入验证**:检查输入是否满足条件(即两个数都是正整数且不为0)。
3. **GCD计算**:
- 使用欧几里得算法,递归地找到较小数除以较大数的余数,直到余数为0。此时的较大数就是GCD。
4. **LCM计算**:
- 使用公式 LCM = |a * b| / GCD(a, b),这里绝对值符号用于保证结果是非负的。
5. **结果展示**:将计算出的最大公约数和最小公倍数显示给用户。
下面是一个简单的伪代码示例:
```python
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
return abs(a * b) // gcd(a, b)
num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
if num1 > 0 and num2 > 0:
result_gcd = gcd(num1, num2)
result_lcm = lcm(num1, num2)
print(f"最大公约数: {result_gcd}")
print(f"最小公倍数: {result_lcm}")
else:
print("输入的数字不符合要求,请输入两个非零正整数。")
```
阅读全文