质因数的个数
输入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(); } }