剑指offer 66道:数值的整数次方

数值的整数次方

题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

思路

分别用python和javascript实现
考虑全面情况:
底数为0时;
指数为0时;
指数为负数时;

github

python代码链接: https://github.com/seattlegirl/jianzhioffer/blob/master/pow.py.

题目代码(python)

# -*- coding:utf-8 -*-
class Solution:
    def Power(self, base, exponent):
        result=1;#保存结果
        flag=False;#指数是否为负数
        #底数为0
        if base==0:
            return 0

        #指数为0
        if exponent==0:
            return 1

        #指数为负数时
        if exponent<0:
            flag=True
            exponent=-exponent

        for i in range(0,exponent):
            result*=base

        #指数为负数时
        if flag==True:
            result=1/result

        return result

print(Solution().Power(2,-2))

github

JavaScript代码链接: https://github.com/seattlegirl/jianzhioffer/blob/master/pow.js.

题目代码(JavaScript)

function rectCover(number)
{
    // write code here
    //竖着覆盖f(number-1)
    //横着覆盖f(number-2)
    var result=new Array(number+1)
function Power(base, exponent)
{
    var result=1;//保存结果
    var flag=false;//指数是否为负数
    // 底数为0
    if(base===0){
        return 0;
    }
    //指数为0
    if(exponent===0){
        return 1;
    }
    //指数为负数时
    if(exponent<0){
        flag=true;
        exponent=-exponent;
    }
    for(var i=1;i<=exponent;i++){
        result*=base;
    }
    //指数为负数时
    if(flag===true){
        result=1/result;
    }
    return result;
}

console.log(Power(2,-3))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章