题解 | #牛牛的幂函数#

牛牛的幂函数

https://www.nowcoder.com/practice/9eba4ecbe67c4dfe8bb61242fe9d614e

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param x double浮点型 
     * @param n int整型 
     * @return double浮点型
     */
    double myPow(double x, int n) {
        // write code here
        if (n < 0){
            x = 1/x;
            n = -n;
        }
        else if (n == 0) return x;
        double res = 0;
        while (n!=0) {
            int i;
            double temp = x;  // 1
            for(i = 2; i <= n; i = i<<1)
            {
                temp *= temp;
            }
            n -= (i>>1);
            res += temp;
            if(n==1) 
            {
                res*=x;
                n--;
            }
        }
        return res;
    }
};

全部评论

相关推荐

路过的咸蛋超人也想拿offer:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务