zoukankan      html  css  js  c++  java
  • Leetcode50. Pow(x, n)(快速幂)

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

    示例 1:

    输入: 2.00000, 10 输出: 1024.00000

    示例 2:

    输入: 2.10000, 3 输出: 9.26100

    示例 3:

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

    说明:

    • -100.0 < x < 100.0
    • n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。

    注意输入的n可能为负数

    如果不把n转为longlong类型,当n = INT_MIN, n = -n时就会超出int的范围

    INT_MIN = -2147483648;

    INT_MAX = 2147483647;

    class Solution {
    public:
        double myPow(double x, int n)
        {
            bool flag = true;
            long long nn = n;
            if(n < 0)
            {
                flag = false;
                nn = -nn;
            }
            double temp = x;
            double res = 1;
            while(nn)
            {
                if((nn & 1) == 1)
                {
                    res *= temp;
                }
                nn >>= 1;
                temp *= temp;
            }
            if(flag)
                return res;
            else
                return 1/res;
        }
    };

  • 相关阅读:
    Hadoop(1.2.1)安装
    ETL,BPM与ESB三者的一些感悟
    编程上面的理论支撑
    TreeSet类的排序
    List接口
    Map接口
    类和对象
    面向对象1
    IO流4
    Java面向对象
  • 原文地址:https://www.cnblogs.com/lMonster81/p/10433867.html
Copyright © 2011-2022 走看看