矩阵乘法解fibonacci斐波那契数列
来源:互联网 发布:活水清泉网络诗歌456 编辑:程序博客网 时间:2024/05/17 20:32
#include <iostream>#include <cstdio>using namespace std;struct mat{ long long d[2][2];};mat operator *(const mat&a,const mat&b)//定义矩阵乘法{ mat ans; for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) { ans.d[i][j]=0; for(int k=0;k<=1;k++) ans.d[i][j]+=a.d[i][k]*b.d[k][j]; ans.d[i][j]%=1000000007; } return ans;}mat one;mat poww(mat &a ,long long x)//算n次方{ mat ans; if(x==0) return one; else { ans=poww(a,x/2); ans=ans*ans; if(x%2==1)//如果n是奇数则再乘一个a { ans=a*ans; } } return ans;}int main(){ mat f; one.d[0][0]=one.d[1][1]=1; one.d[1][0]=one.d[0][1]=0; f.d[0][0]=f.d[0][1]=f.d[1][0]=1; f.d[1][1]=0; long long n; scanf("%lld",&n); mat ans=poww(f,n); printf("%d",ans.d[0][1]);}
阅读全文
2 0
- 矩阵乘法解fibonacci斐波那契数列
- 斐波那契数列-矩阵乘法
- SSL 1529 斐波那契数列Ⅱ 矩阵乘法
- SSL 1530 斐波那契数列Ⅲ 矩阵乘法
- SSL 1531 斐波那契数列Ⅳ 矩阵乘法
- 洛谷1349 广义斐波那契数列 【矩阵乘法】
- Codevs 1574 广义斐波那契数列(矩阵乘法)
- 【矩阵乘法】广义斐波那契数列
- 分治策略(归并排序,二分查找,x的n次方,斐波那契(Fibonacci)数列,斯特拉森(Strassen)矩阵乘法)
- 斐波那契Fibonacci数列
- 斐波那契 (Fibonacci)数列
- Fibonacci(斐波那契)数列实现
- 斐波那契(Fibonacci)数列
- 斐波那契(Fibonacci)数列
- 斐波那契数列(Fibonacci)
- 斐波那契(Fibonacci)数列
- 斐波那契数列(Fibonacci)
- 斐波那契(Fibonacci)数列
- 诚安聚立总裁刘志军:对标三大征信局与FICO 坚持风控能力输出
- Spring事务详解
- C#异步编程基础入门总结
- Tomcat和Apache的区别
- (13)邮箱列表全选、反选、删除
- 矩阵乘法解fibonacci斐波那契数列
- JS学习-函数的定义和调用
- Html.from()加载网络图片
- js模拟微信聊天页面
- .net 拦截器
- 教你怎么免费获取比特币(2)
- 数据包过滤及分析实例 tshark tcpdump
- hive-server2
- Labyrinth HDU