题目背景

大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数)。

题目描述

请你求出第n个斐波那契数列的数mod(或%)2^31之后的值。并把它分解质因数。

输入输出格式

输入格式:

n

输出格式:

把第n个斐波那契数列的数分解质因数。

输入输出样例

输入样例#1: 复制

5

输出样例#1: 复制

5=5

输入样例#2: 复制

6

输出样例#2: 复制

8=2*2*2

说明

n<=48

斐波那契+质因数分解
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int mod=1<<31;
int n,answer,s;
struct Node
{int m[3][3];Node(){memset(m,0,sizeof(m));}
}mb,ans;
Node operator*(Node a,Node b)
{Node c;for(int i=1;i<=2;i++)for(int j=1;j<=2;j++)for(int k=1;k<=2;k++)c.m[i][j]=(c.m[i][j]%mod+a.m[i][k]*b.m[k][j]%mod)%mod;return c;
}
int read()
{int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();return x*f;
}
int main()
{n=read();ans.m[1][1]=ans.m[2][2]=1;mb.m[1][1]=mb.m[1][2]=mb.m[2][1]=1;while(n){if(n&1) ans=ans*mb;mb=mb*mb;n>>=1;}answer=ans.m[1][2];printf("%d=",answer);for(int i=2;i<=answer;i++){while(answer%i==0){s++;answer/=i;if(s>1) printf("*");printf("%d",i);} }return 0;
}

转载于:https://www.cnblogs.com/z360/p/8025263.html

洛谷——P2626 斐波那契数列(升级版)矩阵相关推荐

  1. 洛谷P1962 斐波那契数列题解

    题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数) 题目描述 请 ...

  2. 洛谷P1962 斐波那契数列

    传送门 不难得到状态转移矩阵 然后带进去乱搞 1 //minamoto 2 #include<iostream> 3 #include<cstdio> 4 #include&l ...

  3. 4.21每日一题之终于结束的起点(洛谷c++)|斐波那契数列

  4. 斐波那契数列升级版(洛谷P2626题题解,C++语言描述)

    题目要求 题目链接 分析 首先是求斐波那契数列,这东西我就不说了,能看到这篇题解的你肯定会. 为什么要用数组呢?为了记忆化,防止重复算. 当然,由于本题是单查询,所以不必记忆化,但记忆化对多查询真的会 ...

  5. P2626 斐波那契数列(升级版)

    题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数). 题目描述 ...

  6. 洛谷 P1306 斐波那契公约数

    题意简述 求斐波那契数列第n项和第m项的最大公约数 题解思路 设斐波那契数列第x项为F[x] 则有结论\(Gcd(F[n], F[m]) = F[Gcd(n, m)]\) ============== ...

  7. 洛谷 P3404 斐波那契(线段树)

    传送门 首先肯定是线段树,然后问题就是怎么打标记. 观察题目,可以发现,修改操作其实就是给一段区间加上从1到r-l+1的斐波那契数列. 那么思路就是:预处理斐波那契数列前缀和,这样可以O(1)查询斐波 ...

  8. hdu 4549 M斐波那契数列(矩阵乘法+降幂公式)

    Problem Description M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) ...

  9. 斐波那契数列和矩阵的特征值于特征向量的关系

    从事软件开发的人对斐波那契数列可以说在熟悉不过了,一般是学习递归算法的入门案例写在教科书中,它用递推公式表达是这个样子的: 作为一名自尊自爱的码农,看到这个公式不免既心痒又难骚,必须要安排它一下,就拿 ...

最新文章

  1. 实验四 定位与导航算法
  2. python工作招聘-学习Python 能找到工作?1300+条招聘信息告诉你答案
  3. 软件作坊模式工件应用论
  4. C# 网络编程之通过ip地址获取地理位置(补充)
  5. Oracle Study之--Oracle 11g RAC设置归档路径错误案例
  6. mysql 模糊查询用法_mysql进阶(六)模糊查询的四种用法介绍
  7. XPath 获取两个node中间的HTML Nodes
  8. 继电反馈法自整定_用STM32F407玩控制—继电反馈法PID参数自动整定
  9. jmeter的逻辑控制器
  10. 类别的作用?继承和类别在实现中有何区别
  11. 愿码(ChainDesk.CN):EOS钱包开发 二 EOS开发环境搭建
  12. Javaweb面试题及答案
  13. 4月13日云栖精选夜读:雪佛兰和阿里妈妈撒红包雨!到店率增加20%是如何做到的?...
  14. Elk-Metricbeat配置Tomcat的日志分析 (Metricbeat-part3)
  15. redis在CentOs服务器上的安装和设置开机自启动
  16. php配置站点报错403,phpstudy V8 报403错误怎么办
  17. 优漫动游:如何解决Adobe XD无法拖入图片?
  18. Error opening data file Tesseract-OCR\tessdata/eng.traineddata问题 解决
  19. Wincc经典版下载
  20. 大数据在金融行业的应用——银行大数据

热门文章

  1. 【转】iOS实时卡顿监控
  2. FastJson 原理
  3. 从零开始学ios开发(十一):Tab Bars和Pickers
  4. 文凭-决定的人生成败?下
  5. sql server 2005 T-SQL BEGIN CONVERSATION TIMER (Transact-SQL)
  6. Quarkus:一个Kubernetes原生Java框架
  7. React 表单与事件
  8. 使用HTML5的canvas做一个会动的时钟
  9. 使用svn控制系统的优缺点和注意事项
  10. 苹果:高通的“非法行为”损害了整个行业