问题链接:HDU1163 Eddy's digital Roots。
问题简述:参见上述链接。
问题分析:计算n^n的数根,一要快,二要简单。使用快速模幂计算,加上数论中的九余数定理就完美了。
程序说明:(略)
参考链接:HDU1163 Eddy's digital Roots
题记:(略)
AC的C++语言程序如下:
/* HDU1163 Eddy's digital Roots */ #include <iostream> using namespace std; const int NICE = 9; // 快速模幂计算函数 int powermod(int a, int n, int m) { int res = 1; while(n) { if(n & 1) { // n % 2 == 1 res *= a; res %= m; } a *= a; a %= m; n >>= 1; } return res; } int main() { int n, ans; while(cin >> n && n) { ans = powermod(n, n, NICE); cout << (ans ? ans : 9) << endl; } return 0; }