题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long num = Long.parseLong(scan.next());
getPrimer(num);
}
public static void getPrimer(long num) {
if (num % 2 == 0) {
System.out.print(2 + " ");
getPrimer(num / 2);
} else {
getPrimer2(num);
}
}
public static void getPrimer2(long num) {
for (long i = 3; i <= num; i = i + 2) {
// if(i>2&&i%2==0){
// continue;
// }
if (num % i == 0) {
System.out.print(i + " ");
getPrimer(num / i);
break;
}
if (i == num) {
System.out.print( i + "");
}
//原理是平方数大于要判断的数,那肯定只剩自身了
if (i > num / i) {
i = num -2;
}
}
}
}
