Java应用程序设计,计算两个非零正整数么最大公约数和最小公倍数,要求两个非零正整数从键盘输入
时间: 2024-10-16 10:14:50 浏览: 29
在Java应用程序设计中,计算两个非零正整数的最大公约数(Greatest Common Divisor,简称GCD)和最小公倍数(Least Common Multiple,简称LCM)通常可以使用欧几里得算法(Euclidean Algorithm)来找到GCD,然后通过公式 `lcm(a, b) = abs(a * b) / gcd(a, b)` 来计算LCM。以下是步骤:
1. 首先,获取用户从键盘输入的两个非零正整数。
```java
Scanner input = new Scanner(System.in);
System.out.print("请输入第一个非零正整数:");
int num1 = input.nextInt();
System.out.print("请输入第二个非零正整数:");
int num2 = input.nextInt();
```
2. 确保输入的是非零正整数,并检查输入的有效性。
```java
while (num1 <= 0 || num2 <= 0) {
System.out.println("输入错误,请输入非零正整数!");
num1 = input.nextInt();
num2 = input.nextInt();
}
```
3. 使用欧几里得算法计算GCD。
```java
int gcd;
for (gcd = num1; num2 != 0; num1 = num2, num2 = gcd) {
gcd = num1 % num2;
}
```
4. 计算并输出LCM。
```java
int lcm = Math.abs(num1 * num2) / gcd;
System.out.println("这两个数的最大公约数是:" + gcd);
System.out.println("这两个数的最小公倍数是:" + lcm);
```
阅读全文