首页 > 代码库 > 050. Pow(x, n)
050. Pow(x, n)
1 class Solution { 2 public: 3 double myPow(double x, int n) { 4 if (x == 0) return 0; 5 else { 6 if (n == 0 || x == 1) return 1; 7 else { 8 if (n > 0) { 9 double temp = myPow(x, n / 2);10 if (n % 2 == 0) return temp * temp;11 else return temp * temp * x;12 }13 else {14 double temp = myPow(x, -(n / 2));15 if (n % 2 == 0) return 1.0 / (temp * temp);16 else return 1.0 / (temp * temp * x);17 }18 }19 }20 }21 };
1 class Solution { 2 public: 3 double myPow(double x, int n) { 4 if (x == 0) return 0; 5 else { 6 if (n == 0 || x == 1) return 1; 7 else { 8 if (n > 0) { 9 double temp = myPow(x, n / 2);10 if (n % 2 == 0) return temp * temp;11 else return temp * temp * x;12 }13 else {14 double temp = myPow(x, -(n / 2)); // 这里一定要注意负值的最大可能越界15 if (n % 2 == 0) return 1.0 / (temp * temp);16 else return 1.0 / (temp * temp * x);17 }18 }19 }20 }21 };
050. Pow(x, n)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。