- 题目大意
给出数字,求解(A1B1+A2B2+ ... +AHBH)mod M.
- 解题思路
简单的快速幂问题,套模板就行了。
- 代码
#include<iostream>
using namespace std;
long long powMod(long long a, long long n, long long p)
{
long long ans = 1;
for (; n > 0; n >>= 1)
{
if (n & 1)
ans = ans * a%p;
a = a * a%p;
}
return ans;
}
int main()
{
int t, n, m, a, b;
cin >> t;
while (t--)
{
cin >> m >> n;
long long sum = 0;
while (n--)
{
cin >> a >> b;
long long sum1 = powMod(a, b, m);
sum = (sum + sum1) % m;
}
cout << sum << endl;
}
}