首页 > 其他 > 详细

快速幂模板

时间:2016-03-24 18:05:01      阅读:147      评论:0      收藏:0      [点我收藏+]
以下以求a的b次方来介绍
把b转换成二进制数。该二进制数第i位的权为
 技术分享
例如
技术分享
11的二进制是1011
11 = 2³×1 + 2²×0 + 2¹×1 + 2º×1
因此,我们将a¹¹转化为算
 技术分享
技术分享
 1 int pow(int a,int b,int mod)
 2 {
 3     int ans=1;
 4     a=a%mod;
 5     while(b)
 6     {
 7         if(b&1)
 8             ans=(ans*a)%mod;
 9         a=(a*a)%mod;
10         b=b>>1;
11     }
12     return ans;
13 }
Pow

 

快速幂模板

原文:http://www.cnblogs.com/L-King/p/5316378.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!