LeetCode---(50)Pow(x, n)
2015-07-16 21:26
169 查看
Implement pow(x, n).
pow(x,n)就是求x的n次方。x的N次方可以看做:x^n = x^(n/2)*x^(n/2)*x^(n%2)。所以利用递归求解,当n==1的时候,x^n=x。
当然n是可以小于0的,2^(-3) = 1/(2^3)。按照上面那个规律就可以解决了。
pow(x,n)就是求x的n次方。x的N次方可以看做:x^n = x^(n/2)*x^(n/2)*x^(n%2)。所以利用递归求解,当n==1的时候,x^n=x。
当然n是可以小于0的,2^(-3) = 1/(2^3)。按照上面那个规律就可以解决了。
class Solution { public: double myPow(double x, int n) { if(n==0) return 1.0; if(n>0) { 4000 double half=pow(x,n/2); if(n%2==0) return half*half; else return half*half*x; } if(n<0) { n=-n; double half=pow(x,n/2); if(n%2==0) return 1.0/(half*half); else return 1.0/(half*half*x); } } };
相关文章推荐
- nodejs的模块机制
- 劳累的一天啊
- 极光推送使用后初总结
- RHCE7 -- systemctl命令
- 我的Android进阶之旅------> Android在TextView中显示图片方法
- mysql命令
- ZOJ 3856 Goldbach FFT计数 2013年长沙网络赛
- 算法导论 第十四章:区间树
- 一个简单RPC框架是如何炼成的(II)——制定RPC消息
- [Objective-C]-02-set get语法.类方法.self关键字与点语法
- HTTP协议详解
- ASP.NET网站前端页面的复制
- Java锁的种类
- Java--动态代理
- synergy使用配置<Server window7 Client Fedora21>
- Android中的UI更新
- 离线搭建 Android 集成开发环境
- display属性
- 一个简单RPC框架是如何炼成的(I)——开局篇
- Oracle库Delete删除千万以上普通堆表数据的方法