劍指offer 數值的整數次方

2021-09-23 10:39:39 字數 646 閱讀 7061

題目描述

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

方法一:快速冪方法,快速冪就是快速算底數的n次冪。其時間複雜度為 o(log₂n), 與樸素的o(n)相比效率有了極大的提高。

然後分別計算拆分後的項,後面項可以由前面項的逐次求平方得到。最後將例如算a1,需要一次記為a,把a平方就是a2記為b,把b平方就是a4記為c,再平方就是a8記為d,這樣把axbxd就是結果了。

class solution 

return exponent < 0 ? 1/result : result;}};

方法二:一般的冪運算

class solution 

double result = base;

for(int i = 1; i < exponent; i++)

if(flag == 1)

return 1 / result;

else

return result;}};

劍指offer 數值的整數次方

1 題目描述 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。2 思路 需要考慮到的情況 1 指數為負數的時候,可以先對指數求絕對值,算出次方之後的結果再取倒數。2 當底數是0,指數是負數的時候,可以將無效變數設定為true,並返回0。3...

劍指offer 數值的整數次方

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。將指數大於0,小於0,等於0 底數不為0 的情況分開。其實指數為0的情況不必單獨拎出來 不進入if直接返回result為1.0 真正需要考慮的是,底數為0而指數為負的情況,數學上沒有意義。書...

劍指offer 數值的整數次方

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。1.最直觀的方法,遞迴求解a b a a b 1 當然也可以用迴圈實現。要注意特殊情況,指數為0時乘方結果都是1 指數為負數時的計算,可以先轉化為正數再求倒數,但是底數為0時不能求導。2.效...