模取幂运算,二分

weina1016 2013-04-13 04:47:39
所以如果b的化成二进制的某位为0时,可以直接用这样算 resualt = (resualt * resualt)%c;
若为1 则为 resualt = ( resualt * a) % c;

这句话怎么理解?
...全文
101 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
weina1016 2013-04-26
  • 打赏
  • 举报
回复
头像很吓人的....
wcwswswws3 2013-04-15
  • 打赏
  • 举报
回复
if (b&(1<<i))resualt = ( resualt * a) % c;elseresualt = (resualt * resualt)%c; 
i为你想要的位数。
woniu317 2013-04-14
  • 打赏
  • 举报
回复
哈哈哈,这回可以理解了吧?就是如果是0只计算第一个公式,如果是1则第二个公式也要,嘿嘿。

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧