給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。
1. 最直觀的方法,遞迴求解a^b=a*a^(b-1),當然也可以用迴圈實現。
要注意特殊情況,指數為0時乘方結果都是1;指數為負數時的計算,可以先轉化為正數再求倒數,但是底數為0時不能求導。
2.效率更高的遞迴方法,b為偶數,a^b=a^(b/2)*a^(b/2); b為奇數,a^b=a*a^(b/2)*a^(b/2)。
ac**:
方法1:
class solution
else
return 1.0/power(base,-exponent);
} if(exponent==1)
return base;
return base*power(base,exponent-1);
}};
方法2:
class solution
else
return 1.0/power(base,-exponent);
} if(exponent==1)
return base;
if(exponent&1==0)
return power(base,exponent/2)*power(base,exponent/2);
else
return base*power(base,exponent/2)*power(base,exponent/2);
}};
劍指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 power double base,int exponent 求base的exponent次方,不得使用庫函式,同時不需要考慮大數問題。進行浮點數判斷是不是等於0 bool equal double num1,double num2 return false doub...