實現乙個函式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...