zoukankan      html  css  js  c++  java
  • LeetCode Implement pow(x, n).

    这个题目我也没有思路,同学们可以查看这个http://www.cnblogs.com/NickyYe/p/4442867.html

    下面是我改进后的代码

    第一种方法:

    class Solution {
    public:
        double myPow(double x, int n) {
            if (0 == n)return 1;
            double half = myPow(x, n / 2);
            if (!(n % 2))
                return half*half;
            else if (n>0)
            {
                return half*half*x;
            }
            else
            {
                return half*half*(1 / x);
            }
        }
    };

    第二种方法:

    if (0 == n)return 1;
            double result = 1.0;
            bool tag = false;
            double num=1.0;
            if(n==-2147483648)
            {
                n=1+n;
                num=x;
            }
            if (n<0)
            {
                n = -n;
                tag = true;
            }
            while (n)
            {
                if (n & 1)
                {
                    result *= x;
                }
                x = x*x;
                n = n >> 1;
            }
            if (tag)
            {
               if(0.999999<num&&num<1.000001)
                return 1 / result;
                else return 1/result*num;
            }
            if(0.999999<num&&num<1.000001)
            return result;
            else return result*num;
        }
    };
  • 相关阅读:
    python生成CSV文件并发送邮件
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    Live2d Test Env
    扔鸡蛋
  • 原文地址:https://www.cnblogs.com/csudanli/p/5887204.html
Copyright © 2011-2022 走看看