题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num=in.nextInt(); int num2=num; int j=2; if(num==1){ System.out.println(); } if(zhinum(num)){ System.out.println(num); return; } while(j<=num){ if(zhinum(j)){ while(num2%j==0){ System.out.print(j); num2=num2/j; if(zhinum(num2)) { System.out.print(" "+num2); return; } if(num2!=1){ System.out.print(" "); } } if(num2==1){ break; } } j++; } } public static boolean zhinum(int n) { if(n==2){ return true; } else{ int i=2; while(i<=Math.sqrt(n)){ if(n%i==0){ return false; } i++; } return true; } } }
先判断是否是质数,然后在对合数进行分解。