POJ 3070Fibonacci(快速幂矩阵)
来源:互联网 发布:知耻阅读答案 编辑:程序博客网 时间:2024/05/17 18:00
题意:
求斐波那契数列,直接矩阵快速幂。
#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#include<queue>#include<cstring>using namespace std;struct node{int m[2][2];}ans,base;node cmp(node a, node b){node te;for(int i = 0; i < 2; i++)for(int j = 0; j < 2; j++){te.m[i][j]=0;for(int k = 0; k< 2; k++){te.m[i][j] += a.m[i][k] * b.m[k][j];te.m[i][j] %= 10000; }}return te;}int powermod(int n){base.m[0][0] = base.m[0][1] = base.m[1][0] = 1; base.m[1][1] = 0; ans.m[0][0] = ans.m[1][1] = 1;// ans 初始化为单位矩阵 ans.m[0][1] = ans.m[1][0] = 0; while(n){ if(n&1) ans = cmp(ans, base); n=n/2; base=cmp(base, base);}return ans.m[0][1];}int main(){int n;while(scanf("%d",&n)&&n != -1){printf("%d\n",powermod(n));}return 0;}
阅读全文
0 0
- poj - 3070 - Fibonacci(矩阵快速幂)
- poj 3070 Fibonacci(矩阵快速幂)
- poj 3070 Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- 【POJ】3070Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- 【POJ 3070】Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- 【POJ 3070】Fibonacci(矩阵快速幂)
- POJ - 3070 - Fibonacci (矩阵快速幂)
- POJ-3070Fibonacci(矩阵快速幂)
- 【POJ】3070 - Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- Poj 3070 Fibonacci (矩阵快速幂)
- [POJ 3070] Fibonacci (矩阵快速幂)
- poj 3070 Fibonacci(矩阵快速幂)
- POJ 3070 Fibonacci(矩阵快速幂)
- 怎么开通附近小程序-微信小程序开发-视频教程20
- 面试准备
- EXTJS如何进行上传文件判断
- Linux内存管理之mmap详解
- Android检查更新下载安装
- POJ 3070Fibonacci(快速幂矩阵)
- 单例模式
- ubuntu下安装opencv2和opencv3 多版本共用
- linux alias 与解压缩的一些命令
- Install Docker on Mac
- kaggle学习经验
- 友盟统计,自定义事件常见问题
- LeetCode503. Next Greater Element II
- Python list动态分配内存示例