HDU2855 Fibonacci Check-up 矩阵的应用
生活随笔
收集整理的這篇文章主要介紹了
HDU2855 Fibonacci Check-up 矩阵的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/* 兩個數論公式: f(k) = ( (1+sqrt(5)) / 2 ) ^ k - ( (1-sqrt(5)) / 2) ^ k (1+a)^n = Sum(C(k|n) * (a^k)) 推導過程: Sum(C(k|n) * f(k)) = Sum(C(k|n) * ( (1+sqrt(5)) / 2 ) ^ k - ( (1-sqrt(5)) / 2) ^ k) = Sum(C(k|n) * (1+sqrt(5)) / 2 ) ^ k) - Sum(C(k|n) * (1-sqrt(5)) / 2 ) ^ k) = ( (3+sqrt(5)) / 2 ) ^ k - ( (3-sqrt(5)) / 2) ^ k = ( (1+sqrt(5)) / 2 ) ^ 2k - ( (1-sqrt(5)) / 2) ^ 2k = f(2k) 構造矩陣是浮云 Fn(1,2) = |f(n) f(n-1)| F1(1,2) = |f(1) f(1)| = |1 0| A(2,2) = |1 1| |1 0| */ #include "Mat.h" #include <iostream> using namespace std; int main() { Mat A(2,2),F(1,2); int t, n; scanf("%d", &t); while(t--) { scanf("%d%d", &n, &mod); if(n == 0) { printf("0\n"); continue; } A.clear(2);A.s[1][1] = 0; F.clear(1); A.Er_work(n*2-1); F.Multiply(A); printf("%d\n", F.s[0][0]); } return 0; }
轉載于:https://www.cnblogs.com/windmissing/archive/2011/12/30/2559892.html
總結
以上是生活随笔為你收集整理的HDU2855 Fibonacci Check-up 矩阵的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定时任务 cron 表达式详解
- 下一篇: 理解 maven 的核心概念