题解 | #质数因子#
质数因子
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; } } } }