Maximize Number of Nice Divisors LeetCode solution in C++

1
class Solution {
2
public:
3
int power(long long base, int pow) {
4
if (pow == 0) return 1;
5
return (pow & 1 ? (base * power(base, pow - 1)) % 1000000007
6
: power((base * base) % 1000000007, pow / 2)) %
7
1000000007;
8
}
9
int maxNiceDivisors(int primeFactors) {
10
long ans = 1;
11
if (primeFactors % 3 == 1 && primeFactors > 1) {
12
ans = 4;
13
primeFactors -= 4;
14
} else if (primeFactors % 3 == 2) {
15
ans = 2;
16
primeFactors -= 2;
17
}
18
return (power(3, primeFactors / 3) * ans) % 1000000007;
19
}
20
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0