快速冪計算和斐波那契數列(C

2021-10-08 17:02:37 字數 987 閱讀 5279

快速冪求a的b次方(取模)

快速冪的目的是為了做到快速求冪

求冪即把a連乘b次,一般來說時間複雜度為o(b)即為o(n)級別,但是快速冪能做到o(logn)

快速冪求x的n次方的方法:

**如下:

#include

using

namespace std;

long

longm(

long

long a,

long

long b)

return res;

}int

main()

return0;

}

利用矩陣快速冪計算

f[n] = f[n-1] + f[n-2],可以由f[0] = 0, f[1] = 1可以遞推後面的所有數

**如下:

#include

#include

using

namespace std;

struct matrix

;matrix ch

(matrix a,matrix b)

long

long

quickpow

(matrix res,

int m)

}while

(m)return ans.m[0]

[1]%

10000;}

intmain()

cout <<

quickpow

(a,n)

<< endl;

}return0;

}

快速冪 斐波那契數列

1 編寫程式,求解a b。其中b是正整數。方法1.一般求冪演算法,o r public static long power1 int a,int r if r 0 long res 1 for int i 1 i r i return res 這種使用連乘計算冪值的演算法,複雜度是o n 不過如果將...

矩陣快速冪 斐波那契數列

time limit 1000 ms memory limit 128 mb 通過小l的不懈努力,他即將成為大神啦,他登上了大神專屬的頒獎臺。在頒獎台上,他即將領取代表著大神的無限榮譽的勳章。小l走上頒獎台後,在台上發現了乙個製作精美的盒子。榮譽勳章就在盒子裡面。小l發現這個盒子被上了鎖,在這個盒子...

矩陣快速冪 斐波那契數列

先來實現乙個矩陣相乘的函式吧。const int mod 10000 struct mat mat mat mul mat x,mat y 實現兩個矩陣相乘,返回的還是乙個矩陣。return res 其實和普通快速冪類似,只不過這裡需要得到的是乙個矩陣下面來實現乙個矩陣快速冪 int pow int...