标签:快速幂取模 acm algorithm c++ hdu
2 3 4
7 6HintIn the first case, 3 * 3 * 3 = 27, so the rightmost digit is 7. In the second case, 4 * 4 * 4 * 4 = 256, so the rightmost digit is 6.
快速幂取模,不解释!
AC代码:
#include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <iostream> #include <cstdlib> using namespace std; int qmi(int m) { int a = m%10, ans = 1; while(m) { if(m&1) ans = (ans*a)%10; a = (a*a)%10; m>>=1; } return ans%10; } int main() { int n, t; scanf("%d", &t); while(t--) { scanf("%d", &n); printf("%d\n", qmi(n)); } return 0; }
HDU - 1061 - Rightmost Digit (快速幂取模!)
标签:快速幂取模 acm algorithm c++ hdu
原文地址:http://blog.csdn.net/u014355480/article/details/41923359