POJ1995 Raising Modulo Numbers
阿新 • • 發佈:2018-12-11
題目解釋:有的人喜歡看充滿小姐姐的畫報,有的人喜歡玩遊戲,而我喜歡求…
輸入 第一行為組數,對於每組資料,第一行為M,第二行為該組資料的A、B的個數。
3
16
4
2 3
3 4
4 5
5 6
36123
1
2374859 3029382
17
1
3 18132
輸出: 每組數輸出一個結果
2
13195
13
求快速冪。
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
typedef long long ll;
ll mul(ll a, ll b, ll p){
ll ans = 1 % p;
for(;b;b >>= 1) {
if(b & 1)
ans = (ll)(ans * a) % p;
a = (ll)a * a % p;
}
return ans;
}
int main(){
int N;
cin>> N;
while(N--){
ll ans = 0;
ll p;int m;
scanf("%lld %d",&p,&m);
while(m--){
ll a,b;
scanf("%lld %lld", &a, &b);
ans += mul(a, b, p);
}
printf("%lld\n",ans % p);
}
return 0;
}