码迷,mamicode.com
首页 > 其他好文 > 详细

矩阵快速幂AC代码HDU 2035

时间:2014-07-18 12:15:38      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:使用   os   io   问题   代码   re   

#include <iostream>

using namespace std;
const int MOD = 1000;//像这样的一个常量就应该专门定义一下

int PowMod(int a, int n)//a^n%MOD
{
int ret = 1;
while(n) {
if(n & 1) ret = ret * a % MOD;
//变为二进制,然后就可以专门进行分解计算,十分的方便,要求是结合位运算一同使用
a = a * a % MOD;
//这里要求特别的注意,因为是二进制,所以每个步骤都是平方次处理,如果是三进制就会发现要求有^3的形式了,所以在这里要求平方
n >>= 1;
}
return ret;
} //可以将上面的看成一个专门的模板

int main()
{
int a,b;
cin>>a>>b;
while(a!=0 && b!=0||a!=0 && b==0||a==0 && b!=0)
{
cout<<PowMod(a,b)<<endl;
cin>>a>>b;

}

return 0;
}

//位运算的基本操作已经基本搞懂了,后期就是处理问题和自己解决问题的时间,当然,这个是最基本的一道题

矩阵快速幂AC代码HDU 2035,布布扣,bubuko.com

矩阵快速幂AC代码HDU 2035

标签:使用   os   io   问题   代码   re   

原文地址:http://www.cnblogs.com/tianxia2s/p/3853025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!