劍指Offer 12 數值的整數次方

2021-09-12 22:14:01 字數 636 閱讀 9619

description

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。

用divide & conquer的思路可以每次平方,最後堆起來得到答案。

最開始的時候我搞不太清exp =0, 1這種情況怎麼合併,所以就單獨分了出來。

//c++

double

power

(double base,

int exponent)

double b = base;

while

(exponent >1)

return exponent ==

1? base * b : base;

}

參照了網上快速冪的內容改進了一下自己的**,感覺一下子高大上了許多,也把邊緣情況逗合併起來了 :)

//c++

double

power

(double base,

int exponent)

return exponent >

0? ans :

1/ ans;

}

劍指Offer (12)數值的整數次方

題目描述 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。實現如下 方法一 迴圈 此題不需要考慮計算後值溢位的情況,即不存在大數情況 異常情況 底數為0時 0.0 指數為0時 1.0 數學定義 指數為負數時,需要考慮先計算指數絕對值的結果...

劍指offer 12 數值的整數次方

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。1 對數字的預處理,比如,0的負數次方等 2 提高計算n的m次方的效率方法一 遞迴。利用公式 ab b 2 0 ab 2 ab 2 a b 1 2 a b 1 2 aclass soluti...

劍指offer(12)數值的整數次方

題目描述 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。思路 首先把指數都換成正數,然後對指數進行移位運算,指數二進位制形式有多少位就進行多少次底數相乘運算,但只有該位不為0時乘到要返回的res中。1 public class solu...