算法学习之快速幂
来源:互联网 发布:转炉煤气 优化控制 编辑:程序博客网 时间:2024/06/06 11:40
一.算法分析
由分治算法计算幂函数,由递归式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;}
0 0
- 算法学习之快速幂
- 算法学习之快速幂算法
- 算法学习之快速排序
- 算法学习之快速排序
- 算法学习之快速排序算法
- #算法学习之路#快速排序算法
- 算法学习之排序算法:快速排序
- 算法学习之排序:快速排序算法
- 排序算法学习之快速排序算法
- 算法学习与实践之快速排序
- 算法学习笔记之快速排序
- 算法导论之快速排序---学习笔记
- 算法学习之快速排序(java)
- 经典算法学习:排序之快速排序
- 算法学习之排序(5)--快速排序
- 算法学习之java实现快速排序
- 算法学习点滴-排序之快速排序
- 算法学习笔记之快速排序
- Ivan and Powers of Two
- Android实现“打招呼”
- nyoj 176 整数划分(二)【dp】
- javascript之原型和原型链
- 数据结构单链表删除相同元素(int)
- 算法学习之快速幂
- 28、JSONObject与JSONArray的使用
- 几种C++ 字符串分割的方法
- Mybatis总结
- Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
- 第三周项目1-个人所得税的计算器
- 后缀自动机(SAM)学习笔记
- win7/8/10远程桌面凭据无法工作问题(已解决)
- (第5讲).java和.class文件,以及main函数