Maximize Number of Nice Divisors LeetCode solution in C++
1class Solution {2public:3int power(long long base, int pow) {4if (pow == 0) return 1;5return (pow & 1 ? (base * power(base, pow - 1)) % 10000000076: power((base * base) % 1000000007, pow / 2)) %71000000007;8}9int maxNiceDivisors(int primeFactors) {10long ans = 1;11if (primeFactors % 3 == 1 && primeFactors > 1) {12ans = 4;13primeFactors -= 4;14} else if (primeFactors % 3 == 2) {15ans = 2;16primeFactors -= 2;17}18return (power(3, primeFactors / 3) * ans) % 1000000007;19}20};