首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

模取幂演算,二分

2013-06-25 
模取幂运算,二分所以如果b的化成二进制的某位为0时,可以直接用这样算 resualt = (resualt * resualt)%c若

模取幂运算,二分
所以如果b的化成二进制的某位为0时,可以直接用这样算 resualt = (resualt * resualt)%c;
若为1 则为 resualt = ( resualt * a) % c;

这句话怎么理解? 模取幂 数论 算法导论
[解决办法]
哈哈哈,这回可以理解了吧?就是如果是0只计算第一个公式,如果是1则第二个公式也要,嘿嘿。
[解决办法]

if (b&(1<<i))resualt = ( resualt * a) % c;elseresualt = (resualt * resualt)%c; 

i为你想要的位数。

热点排行