您的位置:首页 > 其它

洛谷P1306 斐波那契公约数

2018-03-31 15:27 204 查看
目录

链接

大意
数据范围

思路

代码

链接

https://www.luogu.org/problemnew/show/P1306

大意

求gcd(f[n],f[m])mod100000000gcd(f[n],f[m])mod100000000

数据范围

n<=m<=109n<=m<=109

思路

利用一个公式

gcd(f[n],f[m])==f[gcd(n,m)]gcd(f[n],f[m])==f[gcd(n,m)]

时间复杂度:O(gcd(n,m))O(gcd(n,m))

空间复杂度:O(1)O(1)

代码

#include<cstdio>
#include<algorithm>
using namespace std;int n,m,i,a,b,c;
int main()
{
scanf("%d%d",&n,&m);
int p=__gcd(n,m);if(p<3) return puts("1")&0;//特判
a=1;
b=1;i=2;//初始化
while(++i<=p)//一直求
{
c=(a+b)%100000000;
a=b%100000000;
b=c%100000000;
}
printf("%d",c);//输出
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: