劍指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))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章