blob: 5afd4fbaa04dda648144e735cd88df80fd004aa2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
|
ll countDivisors(ll n) {
ll res = 1;
for (ll i = 2; i * i * i <= n; i++) {
ll c = 0;
while (n % i == 0) {n /= i; c++;}
res *= c + 1;
}
if (isPrime(n)) res *= 2;
else if (n > 1) res *= isSquare(n) ? 3 : 4;
return res;
}
|