/*
* x>=0&&x<=10 别人的思路
*/
public int myPow(int a,int x){
//a^x%m = (a%m)^x%m
//(a%m*a%m*a%m)%m
if(x==0) return 1;
int ans = 1;
for(int i=0;i<x;i++) {
ans *= a%1337;
ans %= 1337;
}
return ans;
}
// a^b mod 1337
public int superPow(int a, int[] b) {
if(b.length==0) return 1;
int[] n_b = new int[b.length-1];
for(int i=0;i<n_b.length;i++)
n_b[i] = b[i];
return (myPow(superPow(a,n_b),10)*myPow(a,b[b.length-1]))%1337;
}
LeetCode 372 Super Pow
最新推荐文章于 2024-09-22 04:59:47 发布