劍指Offer11 a的b次方問題

2021-09-26 15:09:21 字數 948 閱讀 3216

實現乙個函式double power(double base,int exponent),求base的exponent次方,不得使用庫函式,同時不需要考慮大數問題。

注意輸入的邊界狀態(特殊情況),輸入base為0的時候是沒有意義的,是否輸出異常資訊?其次當exp小於0的時候,base的exponent次方其實就等於base的-exponent次方然後求導。

此外,由於輸入的base是double型別的因此在判斷base是否為0的時候不能直接用==,需要自己寫判斷函式。

利用數學公式:an=a(n/2),n為偶數;an=a(n-1)/2a^(n-1)/2a,n為基數。

public class code011 

private static double power(double base,int exp)

int ab***p=exp;

//如果exp小於0,先取其絕對值然後在對次方後的結果求導

if(exp<0)

double result=powerwithexponent(base,ab***p);

if(exp<0)

return result;

}private static double powerwithexponent(double base, int ab***p)

return result;

}private static boolean equal(double base, double v) else

}private static double power02(double base,int exp)if(exp==1)

double result=power02(base,exp>>1);

result*=result;

if((exp & 0x1)==1)

return result;

}}

劍指offer 11 數值的整數次方

題目描述 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。全面考慮問題 1 base 0或base 0 2 exponent 0或exponent 0或exponent 0 優化 notice exponent 1和exponent 0x...

劍指Offer 11 數值的整數次方

1 浮點數的比較不能直接用 精度問題 2 的魯棒性,考慮非正常情況 3 0的0次方 1 4 unsigned int,計算機中數字都用補碼表示 5 移位運算 6 遞迴演算法 include using namespace std class solution unsigned int ab pone...

劍指offer 11 數值的整數次方

package offer 求數值的整數次方 需要考慮全面 1 0為底時負數次冪無意義,0為指數值為 1,1為指數值為其本身 2 指數為負數時,注意為倒數 3 計算機中判斷相等時考慮精度的問題,自己定義 equals方法 auther dennis date 2018 4 15 public cla...