0
点赞
收藏
分享

微信扫一扫

【力扣·每日一题】372. 超级次方(欧拉降幂 快速幂)


​​linkk​​

题意:

【力扣·每日一题】372. 超级次方(欧拉降幂 快速幂)_i++


【力扣·每日一题】372. 超级次方(欧拉降幂 快速幂)_i++_02

思路:

欧拉降幂公式为:

其中为质数,的欧拉函数
由于题目里给出的是固定的,所以其欧拉函数值为,可以求出的值。
再用快速幂求剩下的值就可以了

代码:

class Solution {
public:
long long ksm(long long a,long long b,long long p){
long long res=1;
while(b){
if(b&1) res=res*a%p;
a=a*a%p;
b=b/2;
}
return res;
}
int superPow(int a, vector<int>& b) {
long long c=1140;
long long sum=0;
for(int i=0;i<b.size();i++){
sum=(sum*10+b[i])%c;
}
return ksm(a,sum,1337);
}
};


举报

相关推荐

0 条评论