大数快速幂modPow(x,d)
import java.math.*;
class Solution {
public int maxNiceDivisors(int primeFactors) {
// d
//9 4*5=20
// 3 3 3=27
// 2 2 3 2=24
//10 3 3 4=36
// 3 3 3 1=27
// 3 3 2 2 =36
//11 3 4 4=48
// 3 3 3 2=54
// 0 3的shang
//prime%3 1 3的shang1 *4
// 2 3的shang *2
if(primeFactors==1) return 1;
BigInteger maxx=new BigInteger("1000000007");
BigInteger x=BigInteger.valueOf(primeFactors);
//BigInteger yu=x.mod(new BigInteger("3"));
BigInteger shang=x.divide(new BigInteger("3"));
BigInteger three=new BigInteger("3");
if(primeFactors%3==0) return Integer.parseInt(three.modPow(shang,maxx).toString());
if(primeFactors%3==1)
return Integer.parseInt(three.modPow(shang.subtract(BigInteger.ONE),maxx).
multiply(new BigInteger("4")).mod(maxx).toString());
return Integer.parseInt(three.modPow(shang,maxx).multiply
(new BigInteger("2")).mod(maxx).toString());
}
}