C - Raising Modulo Numbers (POJ - 1995)
阿新 • • 發佈:2018-02-14
問題 pow name sum long body blog 快速 num
- 題目大意
給出數字,求解(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; } }
C - Raising Modulo Numbers (POJ - 1995)