不一样的计算
程序员文章站
2022-03-29 14:49:27
...
题目描述:
思考:我们都知道,这种题目是利用快速幂的方法进行解决,但是n又是一个特别大的数,所以说不能直接采用n进行解决问题,我们需要进一步简化n,根据费马定理应用的第一条(a^b mod p 在b很大的时候可以先用b = b % (p-1)),可以简化为n=n%100.
核心代码:
#include<bits/stdc++.h>
using namespace std;
int quickmod(int e,int x,int mod){
int base=e;
int res=1;
while(x){
if(x&1){
res=(res*base)%mod;
}
base=(base*base)%mod;
x=x>>1;
}
return res;
}
int main()
{
int n=11;
int mod=101;
int m=2019;
int x=quickmod(m,m,mod-1);
int res=0;
for(int i=1;i<=n;i++){
res=(res+quickmod(i,x,mod))%mod;
}
cout<<res;
return 0;
}
上一篇: 小白前端进阶模块1————国省市县联动
下一篇: Web服务器安全攻击及防护机制详解