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

2021-07-31 14:16:39 字數 689 閱讀 9140

題目描述:

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

實現如下:

//方法一:迴圈

//此題不需要考慮計算後值溢位的情況,即不存在大數情況

//異常情況:

//底數為0時->0.0

//指數為0時->1.0(數學定義)

//指數為負數時,需要考慮先計算指數絕對值的結果,再取倒數

class solution

if (exponent < 0) res = 1.0 / res;//exp為負數時,取res的倒數

return res;

}};//方法二:遞迴

//計算的指數若為n,則只需計算指數為(n/2)時的值,用這個值再平方就可以得到指數為n的值

//注意:

//n為奇數時。需要再乘以乙個base,因為(n/2)向下取整

//exponent還是先計算為正數的情況,之後再判斷是否求倒數

class solution

double power(double

base, int exponent)

};

劍指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 數值的整數次方

description給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。用divide conquer的思路可以每次平方,最後堆起來得到答案。最開始的時候我搞不太清exp 0,1這種情況怎麼合併,所以就單獨分了出來。c double pow...

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

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