您的位置:首页 > 其它

HDU1163 Eddy's digital Roots(解法二)【快速模幂+九余数定理】(废除!!!)

2017-06-08 14:14 393 查看
本文废除,参见下述链接。

参考链接:HDU1163 Eddy's digital Roots【快速模幂+九余数定理+水题】


问题链接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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: