输入20,输出3
要点就是利用平方根减少计算次数
每次将以获得的质因数当作除数,i--是为了保证相同质因数不被遗漏。
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int res = 1;
while (sc.hasNext()) {
int num = sc.nextInt();
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
res++;
num /= i;
i--;
}
}
System.out.println(res);
break;
}
sc.close();
}
} 
京公网安备 11010502036488号