Java计算两个非零正整数的最大公约数和最小公倍数,要求两个非零正整数从键盘输入
时间: 2024-10-12 17:06:37 浏览: 50
在Java中,计算两个非零正整数的最大公约数(GCD, Greatest Common Divisor)通常使用欧几里得算法,而最小公倍数(LCM, Least Common Multiple)则可以通过最大公约数来求得,因为乘积等于两数之积除以它们的最大公约数。下面是一个简单的程序示例:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入两个非零正整数
System.out.println("请输入第一个正整数:");
int num1 = scanner.nextInt();
if (num1 <= 0) {
throw new IllegalArgumentException("输入错误,第一个数必须是非零正整数");
}
System.out.println("请输入第二个正整数:");
int num2 = scanner.nextInt();
if (num2 <= 0) {
throw new IllegalArgumentException("输入错误,第二个数必须是非零正整数");
}
// 计算最大公约数和最小公倍数
int gcd = gcd(num1, num2);
int lcm = num1 * num2 / gcd;
System.out.printf("两个数的最大公约数是: %d\n", gcd);
System.out.printf("两个数的最小公倍数是: %d\n", lcm);
scanner.close();
}
// 欧几里得算法计算最大公约数
private static int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
}
```
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)