博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
矩阵十题【六】 poj3070 Fibonacci
阅读量:5878 次
发布时间:2019-06-19

本文共 1106 字,大约阅读时间需要 3 分钟。

题目链接:

id=3070

题目大意:给定n和10000,求第n个Fibonacci数mod 10000 的值,n不超过2^31。

结果保留四位数字。

非常easy的题,和之前做过的相比简单非常多了。

构造最简单的斐波那契数列矩阵。

#include
#include
#include
using namespace std;const int MAX = 2;struct Matrix{ int v[MAX][MAX];};int n=2,M=10000;Matrix mtAdd(Matrix A, Matrix B) // 求矩阵 A + B{ int i, j; Matrix C; for(i = 0; i < n; i ++) for(j = 0; j < n; j ++) C.v[i][j]=(A.v[i][j]+B.v[i][j])% M; return C;}Matrix mtMul(Matrix A, Matrix B) // 求矩阵 A * B{ int i, j, k; Matrix C; for(i = 0; i < n; i ++) for(j = 0; j < n; j ++) { C.v[i][j] = 0; for(k = 0; k < n; k ++) C.v[i][j] = (A.v[i][k] * B.v[k][j] + C.v[i][j]) % M; } return C;} Matrix mtPow(Matrix origin,int k) //矩阵高速幂 { int i; Matrix res; memset(res.v,0,sizeof(res.v)); for(i=1;i<=n;i++) res.v[i][i]=1; while(k) { if(k&1) res=mtMul(res,origin); origin=mtMul(origin,origin); k>>=1; } return res; }void out(Matrix A){ for(int i=0;i

转载地址:http://pmdix.baihongyu.com/

你可能感兴趣的文章
你好,2017!
查看>>
冷备手工完全恢复(recover database,recover tablespace,recover datafile)
查看>>
JS 在火狐浏览器下关闭弹窗
查看>>
MongoDB GridFS——本质上是将一个文件分割为大小为256KB的chunks 每个chunk里会放md5标识 取文件的时候会将这些chunks合并为一个整体返回...
查看>>
Linux ad7606 驱动
查看>>
安装 RabbitMQ C#使用-摘自网络(包括RabbitMQ的配置)
查看>>
Linux 防火墙iptables命令详解
查看>>
JAVA入门[6]-Mybatis简单示例
查看>>
Spring定时任务的几种实现
查看>>
ZoomIt(投影演示辅助软件)下载、安装与运行使用
查看>>
IntelliJ IDEA JRebel Maven Tomcat 实现热部署
查看>>
Java通过join方法来暂停当前线程
查看>>
源码分析——Action代理类的工作
查看>>
spring 在service中需要抛出异常才能自动回滚
查看>>
人脸数据库大全(包括人脸识别、关键点检测、表情识别,人脸姿态等等)
查看>>
iOS UITableView表视图滚动隐藏UINavigationController导航栏
查看>>
SDL如何嵌入到QT中?!
查看>>
$(document).ready()
查看>>
RunLoop总结:RunLoop的应用场景(四)
查看>>
8个很实用的在线工具来提高你的Web设计和开发能力
查看>>