洛谷P1306 斐波那契公约数
时间:2022-05-08
本文章向大家介绍洛谷P1306 斐波那契公约数,主要内容包括题目描述、输入输出格式、输入输出样例、说明、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
题目描述
对于Fibonacci数列:1,1,2,3,5,8,13......大家应该很熟悉吧~~~但是现在有一个很“简单”问题:第n项和第m项的最大公约数是多少?
输入输出格式
输入格式:
两个正整数n和m。(n,m<=10^9)
注意:数据很大
输出格式:
Fn和Fm的最大公约数。
由于看了大数字就头晕,所以只要输出最后的8位数字就可以了。
输入输出样例
输入样例#1:
4 7
输出样例#1:
1
说明
用递归&递推会超时
用通项公式也会超时
扩展欧几里得有一个非常重要的性质
gcd(F[i],F[j])=F[gcd(i,j)]
1 #include<iostream>
2 #include<cstdio>
3 #include<cmath>
4 #define LL long long
5 using namespace std;
6 const LL mod=100000000;
7 const LL MAXN=5000001;
8 inline LL read()
9 {
10 char c=getchar();LL x=0,flag=1;
11 while(c<'0'||c>'9') {if(c=='-') flag=-1;c=getchar();}
12 while(c>='0'&&c<='9') x=x*10+c-48,c=getchar();return x*flag;
13 }
14 LL dp[MAXN];
15 LL gcd(LL a,LL b)
16 {
17 return b==0?a:gcd(b,a%b);
18 }
19 int main()
20 {
21 LL n=read(),m=read();
22 dp[1]=1;dp[2]=1;
23 for(LL i=3;i<=5000000;i++)
24 dp[i]=(dp[i-1]+dp[i-2])%100000000;
25
26 LL p=gcd(n,m);
27 printf("%lld",dp[p]%100000000);
28 return 0;
29 }
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Andoroid实现底部图片选择Dialog效果
- Android中ExpandableListView使用示例详解
- Android 高德地图之poi搜索功能的实现代码
- Android实现底部弹出按钮菜单升级版
- Android实现单页面浮层可拖动view的示例代码
- 漫画:最长公共子序列
- RecyclerView的简单使用
- Android Parcelable接口使用方法详解
- 假期结束了,撸一篇技术和大伙分享下吧!
- Android AIDL实现跨进程通信的示例代码
- Android中SharedPreferences简单使用实例
- 功能强大的Android滚动控件RecyclerView
- Android使用 Retrofit 2.X 上传多文件和多表单示例
- Android状态栏白底黑字的示例代码
- Android使用ViewPager实现顶部tabbar切换界面