POJ 3070 Fibonacci 解題報告

2021-06-28 09:36:53 字數 669 閱讀 9015

矩陣快速冪。人生第一次真正意義上寫的矩陣快速冪題目啊!題意:fibonacci數列的第0項為0,第1項為1,第2項也為1,此後第n項等於第n-1項與第n-2項的和。現在給你n,請你輸出這個fibonacci數列第n項的值的後4位數字(即對10000取模的結果)。

我的解題思路:標準矩陣快速冪,首先可以構造乙個1×2的初值矩陣[ f(0) f(1) ],然後可以構造這樣乙個2×2的係數矩陣[ 0 1 1 1 ],這樣的話初值矩陣×係數矩陣就得到了這麼乙個1×2的矩陣[ f(1) f(2) ],因此只要把初值矩陣×係數矩陣的n次方就得到了這樣乙個1×2的矩陣[ f(n) f(n+1) ]。這個係數矩陣進行冪運算,那就是矩陣快速冪了。

我的解題**:

#include #include #include #include #include #include using namespace std;

const int matn = 2;

const int mod = 10000;

struct matrix //矩陣結構體

matrix(int _n, int _m): n(_n), m(_m)

void unit(int unit) //將矩陣轉換為單位矩陣

return ans;

}

矩陣十題 六 poj3070 Fibonacci

id 3070 題目大意 給定n和10000,求第n個fibonacci數mod 10000 的值,n不超過2 31。結果保留四位數字。非常easy的題,和之前做過的相比簡單非常多了。構造最簡單的斐波那契數列矩陣。include include includeusing namespace std ...

矩陣十題 六 poj3070 Fibonacci

id 3070 題目大意 給定n和10000,求第n個fibonacci數mod 10000 的值,n不超過2 31。結果保留四位數字。非常easy的題,和之前做過的相比簡單非常多了。構造最簡單的斐波那契數列矩陣。include include includeusing namespace std ...

POJ 3070 Fibonacci(矩陣快速冪)

description 已知 求fn mod 10000 input 多組輸入,每組用例佔一行為一整數n,以n 1結束輸入 output 對於每組用例,輸出fn mod 10000 sample input 0 9 999999999 1000000000 1sample output 0 34 6...