給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。
解法: 首先明確下圖的公式
所以我們可以使用遞迴去求解這個問題,同時要注意當指數為負數時候對結果的影響
class solution
unsigned int new_exponent = (unsigned int)exponent;
if (exponent < 0) //指數為負的情況下
double result = powerbyunsignedexponent(base, new_exponent);
if (exponent < 0) //指數為負的結果運算
result = 1.0 / result;
//std::cout << new_exponent << endl;
return result;
} double powerbyunsignedexponent(double base, unsigned int exponent)
};
劍指offer14 整數拆分
題目描述 給定乙個正整數 n,將其拆分為至少兩個正整數的和,並使這些整數的乘積最大化。返回你可以獲得的最大乘積。例子 輸入 2 輸出 1 解釋 2 1 1,1 1 1。思路1 暴力遞迴 class solution int process int n int max 0 for int i 2 i ...
劍指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而指數為負的情況,數學上沒有意義。書...