POJ-3070 Fibonacci(矩阵快速幂求Fibonacci数列)
来源:互联网 发布:sql多表连接查询 编辑:程序博客网 时间:2024/04/29 15:02
POJ 3070
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int mod = 10000;struct matrix{ int n, m; int mat[2][2]; matrix(){ n = m = 0; memset(mat,0,sizeof(mat)); } void print(){ printf("%d\n", mat[0][1]); }};matrix operator *(matrix m1,matrix m2){ matrix res; res.n = m1.n; res.m = m2.m; for (int i = 0; i < m1.n; i++) { for (int j = 0; j < m2.m; j++) { for (int k = 0; k<m1.m; k++) { res.mat[i][j] += (m1.mat[i][k] * m2.mat[k][j]) % mod; res.mat[i][j] %= mod; } } } return res;}matrix matrix_pow(matrix x,int y){ matrix res; res.n = res.m =2; res.mat[0][0] = res.mat[1][1] = 1; while(y) { if (y&1) res = res*x; x = x*x; y >>= 1; } return res;}int main(){ int n; matrix x; x.n = x.m = 2; x.mat[0][0] = x.mat[0][1] = x.mat[1][0] = 1; x.mat[1][1] = 0; while(scanf("%d", &n) && n >= 0){ if(n == 0) printf("0\n"); else{ matrix ans = matrix_pow(x, n); ans.print(); } } return 0;}
0 0
- POJ-3070 Fibonacci(矩阵快速幂求Fibonacci数列)
- poj 3070 <矩阵快速幂【模板】求Fibonacci数列>
- POJ 3070 Fibonacci (矩阵快速幂求fibonacci)
- 【矩阵快速幂相乘求Fibonacci 数列】PKU-3070-Fibonacci
- POJ 3070 Fibonacci (矩阵快速幂 Fibonacci数列新求法)
- poj 3070-Fibonacci (矩阵快速幂 求 斐波那契数列)
- 矩阵快速幂 求Fibonacci数列poj3070
- 矩阵快速幂求Fibonacci数列
- 【数论】矩阵快速幂求Fibonacci数列
- 矩阵快速幂入门 + 求Fibonacci数列
- poj - 3070 - Fibonacci(矩阵快速幂)
- poj 3070 Fibonacci(矩阵快速幂)
- poj 3070 Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- 【POJ】3070Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- 【POJ 3070】Fibonacci(矩阵快速幂)
- LeetCode---3.TreeEasy
- 区间or值(移位)
- Drools(JAVA规则引擎)开发指南
- docker搭建apache+php+mysql
- Lua-5---扩展和其他
- POJ-3070 Fibonacci(矩阵快速幂求Fibonacci数列)
- 开始看看PYTHON运维 如何用python发邮件。
- git on server(ssh)深入剖析,github提供服务原理
- python爬虫(1)——BeautifulSoup库函数find_all()
- C++内存管理
- 【高效生活】合作开发的利器——初识SVN
- Android的反编译
- MATLAB 读取csv
- 条件预编译/tyordef/结构体