快速幂
2015-08-26 20:54
246 查看
常规求幂
int pow1(inta,intb) { int r=1; while(b--) r*=a; return r; }
二分求幂(一般)
int pow2(inta,intb) { int r=1,base=a; while(b!=0) { if(b%2) r*=base; base*=base; b/=2; } return r*base; }
快速求幂(位操作)
intpow3(inta,intb) { int r=1,base=a; while(b!=0) { if(b&1) r*=base; base*=base; b>>=1; } return r; }
相关文章推荐
- 用UIControl封装Button
- JDK环境变量配置
- Java List集合
- Android 数据存储---File内部存储
- SQL,右连接,左连接
- 不写了 ... 道行太浅 ...
- for循环输出<菱形、金字塔>
- Win8.1 64位操作系统 安装itunes出错问题解决办法
- java中static的使用
- JVM之ClassLoader
- HDU 5038 Grade
- 数据结构Java实现03----单向链表的插入和删除
- git常用命令
- IplImage的相关知识
- HDU 4687 Boke and Tsukkomi(一般图匹配|带花树)
- 【Apache】ab工具
- bitmap转化为file
- centos6.7安装图文教程
- zoj2156 Charlie's Change 完全背包+路径记录
- printf函数参数压栈顺序