JAVA實現數值的整數次方(《劍指offern》)

2021-07-05 13:31:56 字數 1107 閱讀 6699

題目:

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

牛客網題目截圖:

解答:

public class solution 

// 先對指數進行取絕對值計算

int ab***ponent = math.abs(exponent);

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

// 判斷如果傳入的指數是負數,進行取反,否則直接返回

if (exponent < 0)

return result;

}

// 計算數值的整數次方

public double powerwithexponent(double base, int ab***ponent)

return result;

}// 判斷兩個double型別的數值是否相等

public boolean equal(double num1, double num2) else

return false;}}

牛客網編譯通過截圖:

另附c++解答:

/**

* 1.全面考察指數的正負、底數是否為零等情況。

* 2.寫出指數的二進位制表達,例如13表達為二進位制1101。

* 3.舉例:10^1101 = 10^0001*10^0100*10^1000。

* 4.通過&1和》1來逐位讀取1101,為1時將該位代表的乘數累乘到最終結果。

*/public double power(double base, int n) else if(n<0)else

while(exponent!=0)

return n>=0?res:(1/res);

}

劍指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.效...