题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
// 如果一个数n能被一个大于其平方根的数整除,那么它一定也能被一个小于或等于其平方根的数整除。这意味着,所有的非质数因数都会在检查到其平方根之前被发现。
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int line = in.nextInt();
int i = 2;
// 它不能被任何其他正整数(除了1和它本身)整除,最小是2
// 获取平方根
while (i <= (Math.sqrt(line) + 1)) {
// 相除取模为0
if (line % i == 0) {
// 获取下一个值
line = line / i;
System.out.print(i + " ");
} else {
i++;
}
}
System.out.print(line == 1 ? "" : line + " ");
}
}


查看9道真题和解析