class Solution {
public:
int superPow(int a, vector<int>& b)
{
//对a的b次方取模等价于(a mod n)*...共b个...*(a mod n)
if(a==1 || b.size()==0)//如果底数为1或者次方数为0,返回1
return 1;
a=a%1337; //对a进行处理
int ans=1;
for(int i=0;i<b.size();i++)
{
int temp = ans;
ans = pow(ans,10)%1337;
for(int j=1;j<10;j++)
{
ans = ans*temp%1337;
}
for(int j=0;j<b[i];j++)
{
ans = ans*a%1337;
}
}
return ans;
}
};
执行结果:通过
执行用时:4 ms, 在所有 C++ 提交中击败了98.57%的用户
内存消耗:11.4 MB, 在所有 C++ 提交中击败了46.92%的用户通过测试用例:55 / 55