50. Pow(x, n)**
2017-01-09 21:59
441 查看
Implement pow(x, n).
nest myPow
double myPow
double x
iterative one
bit operation
nest myPow
double myPow(double x, int n) { if(n<0) return 1/x * myPow(1/x, -(n+1)); if(n==0) return 1; if(n==2) return x*x; if(n%2==0) return myPow( myPow(x, n/2), 2); else return x*myPow( myPow(x, n/2), 2); }
double myPow
double myPow(double x, int n) { if(n==0) return 1; double t = myPow(x,n/2); if(n%2) return n<0 ? 1/x*t*t : x*t*t; else return t*t; }
double x
double myPow(double x, int n) { if(n==0) return 1; if(n<0){ n = -n; x = 1/x; } return n%2==0 ? myPow(x*x, n/2) : x*myPow(x*x, n/2); }
iterative one
double myPow(double x, int n) { if(n==0) return 1; if(n<0) { n = -n; x = 1/x; } double ans = 1; while(n>0){ if(n&1) ans *= x; x *= x; n >>= 1; } return ans; }
bit operation
相关文章推荐
- JavaScript判断对象数组是否包含对象
- 【Unity&NGUI】背包单格中最大数量怎么设置
- 24. Swap Nodes in Pairs
- 1078. Hashing (25)
- c#知识点(一)
- 图论 欧拉回路 uva10054
- python 通过post方式上传文件到php服务器
- [bzoj1003][ZJOI2006][物流运输] (最短路+dp)
- ACM—Number Sequence(HDOJ1005)
- 数据挖掘中的时序数据分析方法(According to Eamonn Keogh’s Time Series Tutorial)
- Sqoop教程(一) Sqoop数据迁移工具
- 318. Maximum Product of Word Lengths
- 机器学习笔记之牛顿方法
- linux基础(三)
- C#字符串和值转换 以及万能转换
- 未分类笔记
- fgets函数使用注意事项
- Java四个内存区域
- C#单例模式
- Netty实践(二):TCP拆包、粘包问题