题解 | #质数因子#
质数因子
http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.util.Scanner;
public class Main {
public void resolve(int num){
if(isPrimeNumber(num)){
System.out.print(num);
return;
}
for(int i = 2; i * i <= num; i++){
if(num % i == 0){
System.out.print(i + " ");
num /= i;
if(isPrimeNumber(num) == false){
resolve(num);
break;
}
else{
System.out.print(num + " ");
return;
}
}
}
}
public boolean isPrimeNumber(int num){
if(num % 2 == 0){
return false;
}
for(int i = 3; i * i <= num; i += 2){
if(num % i == 0){
return false;
}
}
return true;
}
public static void main(String []args) {
Scanner in = new Scanner(System.in);
int temp = in.nextInt();
Main test = new Main();
if(1 <= temp && temp <= 2000000014){
test.resolve(temp);
}
}
}