50. Pow(x, n)

来源:互联网 发布:qq在线人数竞猜源码 编辑:程序博客网 时间:2024/06/05 15:22

题目

Implement pow(x, n).

思路

本题是真的简单,求幂运算,只要循环相乘就行,唯一需要注意的是一些特殊情况:

  • n==0
  • x ==1 or -1

代码

class Solution {public:    double myPow(double x, int n) {        double res=1;        if(x==1)        {            return x;        }        else if(x==-1)            return n%2==0?-x:x;        if(n>=0)        {        for(int i=0;i<n;i++)        {            res = res*x;            if(abs(res)<0.000000003)                return (double)0.0;        }        return res;        }        else        {            x = 1.0/x;            for(int i=0;i>n;i--)        {            res = res*x;            if(abs(res)<0.000000003)                return (double)0.0;        }        return res;        }    }};
原创粉丝点击