题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long num = scanner.nextLong();
//其实不用遍历到num,只要遍历到平方根,因为,num在循环中逐步缩小,所以
long sqrt_num = (long) Math.sqrt(num);
//对于每个i都进行while循环看是不是因数,因为while循环会一直直到不能整除,所以找出的因子全部都是质因数
for (long i = 2; i <= sqrt_num; ++i) {
while (num % i == 0) {
System.out.print(i + " ");
num /= i;
}
}
//最后再输出那个不能整除的最大的且不为1的质因数
System.out.println(num == 1 ? "" : num);
}
}