ana
n−1a
n−1a
n−2}
(5)\begin an & an-1 \\ an-1 & an-2 \end \tag
(5)
(5)\begin 1 & 1 \\ 1 & 0 \end \tag
(5)上面兩個相乘,且根據斐波拉契數列,會得到這樣乙個結果:
(5)\begin an+1 & an \\ an & an-1 \end \tag
(5)此時我們就能夠不斷得到斐波拉契數列後續的項了,而因為每次所乘的矩陣都相同,所以我們可以使用矩陣快速冪來實現這一過程,最終,時間複雜度o(logn)。
正解**:
#include
#include
#include
#include
#define mod 1000000007
using
namespace std;
typedef
long
long ll;
struct node
;ll n,k;
node init()
}return res;
}node matrix_mul
(node temp1,node temp2)
}return ans;
}node matrix_pow
(node temp,ll p)
return ans;
}int
main()
a=matrix_pow
(a,k-1)
;printf
("%lld"
,a.a[1]
[1])
;return0;
}
斐波拉契數列
斐波拉契數列 1 1 2 3 5 8 13 21 34.其中每乙個數字都是前兩個數字的和。遞迴計算 long fibonacci int n 非遞迴計算 long fibonacci int n return result 這個函式的遞迴實現使用了雙重遞迴 double recursion 函式對本...
斐波拉契數列
編寫彙編程序列印1 1000的斐波拉契數列 原始碼assume cs code,ss stack,ds data data segment fibo dw 0,1,64 dup 0 str db the fibo list is 0ah,0dh,data ends stack segment db ...
斐波拉契數列
斐波拉契數列 這個數列從第三項開始,每一項都等於前兩項之和。已知斐波拉契數列的前兩項都是1,我們定義求斐波拉契數列的第n項 n 50 的函式為fbnq,請補充完成對fbnq函式的定義。輸入格式 共一行,為乙個正整數。輸出格式 共一行,為乙個正整數。輸入樣例 7輸出樣例 13 斐波拉契數列 def f...