标签:
#include<iostream> #define LL long long using namespace std; //快速幂算法 LL pow(LL a,LL b,int m){ LL r=1,base=a; while(b!=0){ if(b&1) r=r*base%m;//同余模公式 base=base*base%m;//同余模公式 b>>=1; } return r; } int main(){ int n,r,m; cin>>n; while(n--){ cin>>r>>m; LL x,y,sum=0; for(int i=0;i<m;i++){ cin>>x>>y; sum+=pow(x,y,r); } cout<<sum%r<<endl;//同余模公式 } return 0; }
快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为O(log2N),与朴素的O(N)相比效率有了极大的提高。
标签:
原文地址:http://www.cnblogs.com/tz346125264/p/4864799.html