首页 > 代码库 > LeetCode Implement pow(x, n).
LeetCode Implement pow(x, n).
这个题目我也没有思路,同学们可以查看这个http://www.cnblogs.com/NickyYe/p/4442867.html
下面是我改进后的代码
第一种方法:
class Solution {public: double myPow(double x, int n) { if (0 == n)return 1; double half = myPow(x, n / 2); if (!(n % 2)) return half*half; else if (n>0) { return half*half*x; } else { return half*half*(1 / x); } }};
第二种方法:
if (0 == n)return 1; double result = 1.0; bool tag = false; double num=1.0; if(n==-2147483648) { n=1+n; num=x; } if (n<0) { n = -n; tag = true; } while (n) { if (n & 1) { result *= x; } x = x*x; n = n >> 1; } if (tag) { if(0.999999<num&&num<1.000001) return 1 / result; else return 1/result*num; } if(0.999999<num&&num<1.000001) return result; else return result*num; }};
LeetCode Implement pow(x, n).
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。