16 快速冪 數字的整數次方

2021-10-23 21:42:56 字數 917 閱讀 9613

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

(數學前提)

舉例

**實現

public

double

mypow

(double x,

int n)

while

(k!=0)

x = x*x;

// pow(3,1) -> pow(3,2) -> pow(3,4)

k /=2;

}if(n<0)

return res;

}

題目

a^b mod p = ?

**實現

public

intfastmulti

(int a,

int b,

int c)

a =(a*a)

%c;}

return res;

}

題目 數值的整數次方 快速冪

給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。快速冪演算法 例如求 x的11次冪,11轉化為二進位制為1011,每一位對應的數字為 8,2,1 所以,可以將x的11次冪 轉換為 x的8次冪 x的2次冪 x的1次冪 public doub...

16 數值的整數次方

實現函式pow double base,int exponent 常規的思路是,迴圈相乘,雖然簡單,也有幾個要注意的地方 0 的負數次方是錯誤的輸入引數,因為負數次冪是借助除法算出,0 不能作為分母 非0數的負數次冪是,先求正數次冪,再取倒數。0 的 0 次方是無意義的 處理 or 不處理 而迴圈相...

16 數值的整數次方

public class doublepower 沒有考慮指數為負數和指數小於1的情況 param base 底數 param exponent 指數 return 結果 public static double power1 double base,int exponent return resu...