题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.lang.Math; import java.util.ArrayList; import java.util.Collections; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static boolean isPrimeNUmber(int num){ for(int i=2;i<(sqrt(num)+1);i++){ if(num%i==0){ return false; } } return true; } private static int sqrt(int num) { for(int i=1;i<num;i++){ if(i*i>=num){ return i; } } return 0; } public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int num=scanner.nextInt(); ArrayList<Integer> arr=new ArrayList<Integer>(); while(num!=1){ for(int i=2;i<=num;i++){ if((num%i==0)&&isPrimeNUmber(i)){ num/=i; arr.add(i); if(num!=1&&isPrimeNUmber(num)){ arr.add(num); num/=num; } break; } } } Collections.sort(arr); for(int i=0;i<arr.size();i++){ System.out.print(arr.get(i)+" "); } } }