原题链接:https://www.luogu.org/problemnew/show/P1306

斐波那契公约数

题目描述

对于Fibonacci数列:1,1,2,3,5,8,13…大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少?

Update:加入了一组数据。

输入输出格式
输入格式:

两个正整数n和m。(n,m<=10^9)

注意:数据很大

输出格式:

Fn和Fm的最大公约数。

由于看了大数字就头晕,所以只要输出最后的8位数字就可以了。

输入输出样例
输入样例#1:

4 7

输出样例#1:

1

说明

用递归&递推会超时

用通项公式也会超时

题解

结论:
gcd(F[n],F[m])=F[gcd(n,m)]gcd(F[n],F[m])=F[gcd(n,m)]gcd(F[n],F[m])=F[gcd(n,m)]

然后愉快的矩乘~~

代码
#include<bits/stdc++.h>
using namespace std;
const int mod=1e8,N=2;
struct sd{int sq[N+1][N+1];}c,r,one,mat;
int n,m;
int sq[N+1][N+1]={{0,0,0},{0,1,1},{0,1,0}};
sd operator*(sd a,sd b)
{for(int i=1,j,k;i<=N;++i)for(j=1;j<=N;++j)for(c.sq[i][j]=0,k=1;k<=N;++k)(c.sq[i][j]+=1ll*a.sq[i][k]*b.sq[k][j]%mod)%=mod;return c;
}
sd power(sd a,int p){for(r=one;p;p>>=1,a=a*a)if(p&1)r=r*a;return r;}
void in(){scanf("%d%d",&n,&m);}
void ac()
{for(int i=1;i<=N;++i)one.sq[i][i]=1;for(int i=1;i<=N;++i)for(int j=1;j<=N;++j)mat.sq[i][j]=sq[i][j];printf("%d",power(mat,__gcd(n,m)-1).sq[1][1]);
}
int main(){in(),ac();}

Luogu1306 斐波那契公约数相关推荐

  1. 斐波那契公约数的相关证明

    \(\text{来一波斐波那契公约数的证明}QwQ\) \(\text{已知} \{F_n\} \text{为斐波那契数列,求证:}\) \[\forall\ n,m\in\text{Z}^{+},( ...

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

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

  3. 【小组专题三:斐波那契专题】斐波那契 与其20个性质 | 泽肯朵夫表示 | 卢卡斯数 与其8个性质 | 常系数二次线性齐次序列 | 模板与例题

    斐波那契专题 斐波那契序列的定义 斐波那契序列的基本性质 卢卡斯数 卢卡斯数的基本性质 正整数的泽肯朵夫(Zeckendorf)表示 其他斐波那契的性质 常系数的二次线性齐次递归关系 斐波那契进制/斐 ...

  4. 烦神的斐波那契洛谷-1306-斐波那契公约数

    传送门 洛谷1306传送门 -------------------------------------------------------------------------------------- ...

  5. 求水仙花数 以及 最大公约数最小公倍数 以及 冒泡法 以及字母大小写的转换 以及简单选择排序法 以及斐波那契数列

    什么是水仙花数呢? 假设一个数ABC是一个三位数. 水仙花数就是 A*A*A +B*B*B +C*C*C = ABC; 水仙花的具体代码. 接着是最大公约数以及最小公倍数 如果两个数是ab,最大公约数 ...

  6. 七种方式求斐波那契(Fibonacci)数列通项

    一:递归实现   使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1. 二:数组实现   空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快. ...

  7. P1306-斐波那契公约数【矩阵乘法,数论】

    正题 题目链接: https://www.luogu.org/problemnew/show/P1306 题目大意 求出第x项和第y项斐波那契额数的最大公约数. 解题思路 首先第x项和第y项斐波那契额 ...

  8. python斐波那契数列30_python的30个骚操作

    1.冒泡排序 2.计算x的n次方的方法 3.计算a*a + b*b + c*c + -- 4.计算阶乘 n! 5.列出当前目录下的所有文件和目录名 6.把一个list中所有的字符串变成小写: 7.输出 ...

  9. 数论 —— 斐波那契数列(Fibonacci)

    [概述] 斐波那契数列(Fibonacci sequence),又称黄金分割数列,其指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,3 ...

  10. 斐波那契数列的性质整理

    https://www.cnblogs.com/Milkor/p/4734763.html 定义/递推式 \(F_0=0,\,F_1=1\) \(F_n=F_{n-1}+F_{n-2} \quad ( ...

最新文章

  1. 图书管理系统python代码课程设计报告_数据结构图书管理系统课程设计报告
  2. HDU 4628 Pieces(DP + 状态压缩)
  3. 8.Verilog的for循环语句使用
  4. go编译成c语言,Go语言是怎么完成编译的
  5. 静态方法和实例方法(mark)
  6. (17)System Verilog枚举类型enum详解
  7. java final 内存语义_final 域的内存语义
  8. 读“游戏之旅——我的编程感悟”:难得的休闲读物
  9. tftp服务器离线安装
  10. AE 2021最新最全插件滤镜大全一键安装版下载 After Effects 2021插件合集WIN一键安装版 支持AE 2021
  11. stm8s103-PWM输出与输入捕获
  12. 企业终端安全应该包括哪几部分?
  13. psc格式文件 的数据库导入问题
  14. python中tan函数如何表示_Python入门之三角函数tan()函数实例详解
  15. C语言版,传教士与野人渡河问题,使用深度优先搜索法求解(DFS),变态版,随便输入人数和船的最大载人数,人工智能经典题目,简单易懂,注释到位,没有bug
  16. [人工智能-深度学习-39]:环境搭建 - 训练主机硬件选择全指南(CPU/GPU/内存/硬盘/电源)
  17. Java多态练习宠物喂食
  18. 3.暴力破解凯撒密码
  19. 程序员崩溃了!想拿的年终奖怎么说黄就黄?!
  20. 【考研经验】2019年浙江大学软件学院考研经验分享, 双非_二战_妹纸_跨考_上岸!...

热门文章

  1. Machine Learning Concepts
  2. 计算机在思政专业的应用与探索,课程思政在计算机类课程中的探索与实践
  3. WebShell脚本检测机器学习一
  4. 647.回文字符串 (力扣leetcode) 博主可答疑该问题
  5. 探测内网c段、外网某网站(ip)的网络服务存活状态
  6. 电大本科免考英语和计算机,网络教育本科英语和计算机统考免考条件是什么?...
  7. DTP模型之一:(XA协议之一)XA协议、二阶段2PC、三阶段3PC提交
  8. 根据年月查询每月数据并渲染到页面,支持数据的展示与折叠隐藏
  9. 【游戏体验】Colour My World(让我的世界充满色彩)
  10. Ubuntu 16.04 源添加