求a的n次方,要求快速演算法

2021-06-10 00:24:09 字數 574 閱讀 1702

求a的n次方,要求快速演算法。

求乙個數的n(n是int型正整數)次方,比較簡單的題目,但是也有比較大的優化空間。

是求a的n次方的公式。

如果n是偶數、.....如果n是奇數、.....

可以看出是乙個遞推公式的樣子,可以用遞迴來解決。

package static_;

public class test

public static double func(int a, int exponent)

if (exponent == 0)

double d = func(a, exponent >> 1);

d = d * d;

if ((exponent & 1) == 1)

return 1;

}}

在普通的用n次乘法求a的n次方的演算法中,時間複雜度就是o(n),在本演算法中,時間複雜度是o(logn),但是也伴隨了空間複雜度o(logn)。

求n次方的演算法

今天看交大的資料結構書,看到了乙個計算n次方的好演算法,它的時間複雜度只有logn,一般我們可能用迴圈,時間複雜度是o n 當這個演算法只有o logn 確切點說是o 6logn 演算法貼來.真高興 intpower intx,intn m n inty 1 while t 1 returny 原理...

矩陣求逆的快速演算法

前 1 如果是正交矩陣,則它的轉置就是它的逆,2 boost下面有庫 ublas basic linear algebra library 基本的線性代數都有了,你去看看吧 www.boost.org3 對於2x2 3x3 公式,演算法介紹 矩陣求逆在3d程式中很常見,主要應用於求billboard...

快速冪求x的n次方

o logn 的時間複雜度求x的n次方,x為自然數,n為整數?如果 power 5 為奇數,result儲存當前的多餘的乙個4,並在返回結果時一併與結果相乘。2 10 2 2 2 2 2 2 2 2 2 2 4 5 4 4 4 4 4 4 4 4 4 16 2 16 2 16 16 256 如果 p...