[50]Pow(x, n)
2015-11-15 20:32
218 查看
【题目描述】
Implement pow(x, n).
【思路】
采用递归的思路,需要注意的是要判断边缘样例,如n=0和n=-1的情况,另外当x=0时候要分n等于-1和n不等于-1两种情况讨论。
【代码】
class Solution {
public:
double myPow(double x, int n) {
double tmp=x;
if(x==0){
if(n==-1) return INT_MIN;
else return 0;
}
if(n==0) return 1;
if(n==-1) return 1/x;
tmp=myPow(x,n/2);
if(n%2==0) return tmp*tmp;
else{
if(n>0) return tmp*tmp*x;
else return tmp*tmp/x;
}
}
};
Implement pow(x, n).
【思路】
采用递归的思路,需要注意的是要判断边缘样例,如n=0和n=-1的情况,另外当x=0时候要分n等于-1和n不等于-1两种情况讨论。
【代码】
class Solution {
public:
double myPow(double x, int n) {
double tmp=x;
if(x==0){
if(n==-1) return INT_MIN;
else return 0;
}
if(n==0) return 1;
if(n==-1) return 1/x;
tmp=myPow(x,n/2);
if(n%2==0) return tmp*tmp;
else{
if(n>0) return tmp*tmp*x;
else return tmp*tmp/x;
}
}
};
相关文章推荐
- 程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理
- 第十一周实践项目2—用二叉树求解代数表达式
- 程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理
- 程序员需要有多懒 ?- cocos2d-x 数学函数、常用宏粗整理
- 团队开发心得
- PMP考试
- 霍尼韦尔新风系统
- 深入理解BootStrap Item12 -- 标签(label)与徽章(badge)
- 架构设计:一种远程调用服务的设计构思(zookeeper的一种应用实践)
- 乘法口诀表
- Struts2中Action接收参数的方法
- 信息安全系统设计基础第十周学习总结
- 17.4.3 使用MulticastSocket实现多点广播(5)
- HDU 2437 Jerboas
- Zookeeper应用 - 集中配置管理系统的实现
- Redis是什么
- 取客单数及其他
- js应用
- matlab使用神经网络实现图像压缩
- string 与char* char[]之间的转换