当前位置:   article > 正文

(leetcode学习)50. Pow(x, n)

(leetcode学习)50. Pow(x, n)

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。

示例 1:

输入:x = 2.00000, n = 10
输出:1024.00000

示例 2:

输入:x = 2.10000, n = 3
输出:9.26100

示例 3:

输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25

提示:

  • -100.0 < x < 100.0
  • -231 <= n <= 231-1
  • n 是一个整数
  • 要么 x 不为零,要么 n > 0
  • -104 <= xn <= 104

快速幂,第一次写的时候用 n%2==1,这样不能处理负数的问题

  1. class Solution {
  2. public:
  3. double myPow(double x, int n) {
  4. if(n==0) return 1;
  5. double res = 1;
  6. while(n){
  7. if(n & 1){
  8. if(n > 0) res *= x;
  9. else res /= x;
  10. }
  11. x *= x;
  12. n /= 2;
  13. }
  14. return res;
  15. }
  16. };

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号