标签:des style os io for ar div line
Description
Input
Output
(A1B1+A2B2+ ... +AHBH)mod M.
Sample Input
3 16 4 2 3 3 4 4 5 5 6 36123 1 2374859 3029382 17 1 3 18132
Sample Output
2 13195 13
题意:求和
思路:快速幂取模,递归和非递归两个版本
#include <iostream> #include <cstring> #include <algorithm> #include <cstdio> typedef long long ll; using namespace std; /*int pow_mod(int a, int n, int m) { if (n == 0) return 1; if (n == 1) return a%m; int x = pow_mod(a, n/2, m); ll ans = (ll) x*x%m; if (n % 2 == 1) ans = ans * a % m; return (int)ans; } */ int pow_mod(int a, int n, int m) { ll ans = 1; ll tmp = (ll)a; while (n) { if (n & 1) ans = (ans * tmp) % m; tmp = (tmp * tmp) % m; n >>= 1; } return (int) ans; } int main() { int t, n, m; while (scanf("%d", &t) != EOF && t) { for (int i = 0; i < t; i++) { int sum = 0; scanf("%d%d", &n, &m); int a, b; for (int j = 0; j < m; j++) { scanf("%d%d", &a, &b); sum = (sum + pow_mod(a, b, n)) % n; } printf("%d\n", sum); } } return 0; }
POJ - 1995 Raising Modulo Numbers,布布扣,bubuko.com
POJ - 1995 Raising Modulo Numbers
标签:des style os io for ar div line
原文地址:http://blog.csdn.net/u011345136/article/details/38380283