算法学习之快速幂
2016-03-30 20:34
148 查看
一.算法分析
由分治算法计算幂函数,由递归式T(n)=T(n/2)+(-)(1)计算可知算法复杂度为O(lgn),比普通的算法O(n)快了许多。二.代码实现
#include <iostream> #include <cstring> using namespace std; long long pow2(int x,int n) { long long temp; if(n==0) return 1; else if(n==1) return x; else if(n%2==0) { temp=pow2(x,n/2); return temp*temp; } else { temp=pow2(x,(n-1)/2); return temp*temp*x; } } int main() { while(1){ int x,n; cin>>x>>n; cout<<pow2(x,n)<<endl; } return 0; }
相关文章推荐
- PE 432
- delphi cmd(4个例子都是通过管道取得)
- saltstack快速安装
- javamail发邮件简版
- JZOJ2984游戏
- #小河学习笔记#前端精品视频教程:微信场景开发实战
- 学生成绩输入输出
- 面向接口、对象、方面编程区别
- 背包详讲
- MATLAB中的svd与svds
- 强制IE浏览器或WebBrowser控件使用指定版本显示网页
- 现代操作系统
- 取CPU序列号,获取网卡,取硬盘系列号,获取目录下的文件,强制删除目录
- java IO之 编码 (码表 编码 解码 转换流)
- vmware 安装 vmware tools 报Mounting HGFS filesystems: [FAILED]
- 单元测试
- poj--3061--Subsequence(技巧)
- 第三周项目1-个人所得税的计算器
- HTTP状态码
- ionic云开发系列二之调用webservice