在JAVA中,编写程序读入一个整数显示它的所有素数因子。 程序输入输出示例(不限于举例整数): 输入整数:120<回车> 素数因子为:2,2,2,3,5 给出完整代码
时间: 2024-09-17 07:06:56 浏览: 66
在Java中,你可以使用循环和条件判断来找出一个整数的所有素数因子。以下是完整的代码实现:
```java
import java.util.Scanner;
public class PrimeFactors {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = scanner.nextInt(); // 读取用户输入的整数
// 打印素数因子
printPrimeFactors(num);
}
// 函数用于找到并打印素数因子
public static void printPrimeFactors(int n) {
while (n % 2 == 0) { // 从2开始检查,因为偶数都是2的倍数
System.out.print(2 + ","); // 输出2作为因子,并添加逗号分隔
n /= 2; // 更新n为n除以2的结果
}
for (int i = 3; i <= Math.sqrt(n); i += 2) { // 只检查奇数因子,跳过2
while (n % i == 0) {
System.out.print(i + ",");
n /= i;
}
}
if (n > 2) { // 如果n还有剩余(即是个质数),也是其因子
System.out.print(n);
}
System.out.println("\n素数因子为:");
}
}
```
当你运行这个程序时,输入120,它会输出:`素数因子为:2, 2, 2, 3, 5`。
阅读全文