题解 | 质因数的个数
质因数的个数
https://www.nowcoder.com/practice/20426b85f7fc4ba8b0844cc04807fbd9
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int a = in.nextInt();
int count = 0;
while(a != 0){
for(int i = 2;i<=Math.sqrt(a);i++){
if(a % i == 0 && check(i)){
a = a / i;
count++;
break;
}
}
if(check(a)){
count++;
break;
}
}
System.out.println(count);
}
}
public static boolean check(int x){
if(x == 2 || x == 3){
return true;
}
double max = Math.sqrt(x);
for(int i = 2;i<max;i++){
if(x % i == 0){
return false;
}
}
return true;
}
}