题目链接:https://hpuoj.com/contest/24/problem/A/

小z 学会了斐波那契和 gcd 后,老师又给他出了个难题,求第N个和第M个斐波那契数的最大公约数,这可难倒了小z ,不过在小z 的再三请求下,老师又告诉他了个条件,gcd(N,M)∈[1,90]。
可是,笨拙的小z 还是不会,于是请求你帮他解答这个问题。

已知:

Fibonacci[i]={i,Fibonacci[i−1]+Fibonacci[i−2],i<=1i>1

输入格式

输入包括 T 组,T∈[1,10]. 
接下来 T 行,每行两个整数 N,M, 表示斐波那契的第 N 项和第 M 项,(N,M∈[1,1018]).

输出格式

输出包含 T 行,每行输出一个整数.

样例

input

3
1 2
2 3
3 4

output

1
1
1

思路:公式:gcd(f(n),f(m))=f(gcd(n,m))

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
long long a[100010];
long long f(long long x)
{if(x<=1)return x;if(a[x]!=0)return a[x];return a[x]=f(x-1)+f(x-2);
}
int main()
{int t;scanf("%d",&t);while(t--){long long n,m,r,t;scanf("%lld%lld",&n,&m);if(n>m){t=m;m=n;n=t;}while((r=m%n)!=0){m=n;n=r;}printf("%lld\n",f(n));}return 0;
}

HPU A. 再战斐波那契相关推荐

  1. 函数(递归,迭代实现斐波那契数列)

    上篇文章介绍了一下函数的基本内容,这次来讲讲函数的编程技巧--递归,迭代.并运用这两个技巧实现的斐波那契数列. 递 归 递归是一个过程或函数在其定义或说明中直接或间接调用自身的一种方法,把一个复杂的问 ...

  2. 数据结构与算法--再谈递归与循环(斐波那契数列)

    再谈递归与循环 在某些算法中,可能需要重复计算相同的问题,通常我们可以选择用递归或者循环两种方法.递归是一个函数内部的调用这个函数自身.循环则是通过设置计算的初始值以及终止条件,在一个范围内重复运算. ...

  3. NO7、斐波那契数列(easy不需再刷)

    7.斐波那契数列 easy不需再刷 示例1 输入 4 返回值 3 1.采用三个元素保存数组即可 int Fibonacci(int n) {if (n == 1 || n == 2) return 1 ...

  4. c语言减治法求a的n次方算法,拜托,面试别再问我斐波那契数列了!!!

    面试中,问得比较多的几个问题之一,求斐波那契数列f(n)? 画外音:姐妹篇 <拜托,面试别再问我TopK了!!!> <拜托,面试别再让我数1了!!!> 什么是斐波那契数列? 斐 ...

  5. 拜托,面试别再问我斐波那契数列了!!!

    面试中,问得比较多的几个问题之一,求斐波那契数列f(n)? 画外音:姐妹篇 <拜托,面试别再问我TopK了!!!> <拜托,面试别再让我数1了!!!> 什么是斐波那契数列? 斐 ...

  6. 面试官问你斐波那契数列的时候不要高兴得太早

    增加内容 递归改进版 矩阵快速幂解法 通项表达式解法 列表法 斐波那契数列应用 前言 假如面试官让你编写求斐波那契数列的代码时,是不是心中暗喜?不就是递归么,早就会了.如果真这么想,那就危险了. 递归 ...

  7. 利用递归、迭代解决斐波那契数列问题与汉诺塔难题

    有人说,"普通程序员使用迭代,天才程序员使用递归",真是这样吗? 1.浅谈递归与迭代 <1>递归的基本概念: 程序调用自身的编程技巧称为递归,是函数自己调用自己. 一个 ...

  8. 「斐波那契」投稿法不好使了:IJCAI 2020出台新规,隐瞒「拒稿重投」者将被一票否决...

    点击上方"深度学习技术前沿",选择"星标"公众号 资源干货,第一时间送达 投稿被拒是一件非常令人沮丧的事情,但过来人一般会这样劝你:「没关系,改改再投其他家就好 ...

  9. 斐波那契数列及青蛙跳台阶问题

    题目1: 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项. 斐波那契(Fibonacci)数列定义例如以下: f(n)=⎧⎩⎨⎪⎪0,1,f(n−1)+f(n−2),n=0n=1n& ...

最新文章

  1. Linux 中打开tomcat的startup.sh 没有显示successed的方法。
  2. Spring MVC常用注解--“姐妹花”@RequestBody和@ResponseBody
  3. 史上最惨锦鲤即将来袭!奖品堪比5年高考3年模拟!
  4. 专业软件 —— 硬件评测
  5. centos写mysql光标移到上一行_mysql:一条SQL更新语句(update)是如何执行的
  6. 前端html预览,HTML5 上传前预览
  7. 数据库的相关概念 1006
  8. 22. GD32F103C8T6入门教程-RTC的时间设置、读取日历转换
  9. java 排序 1和1_160308、java排序(形如1.1、1.2.1)
  10. Android-广播
  11. 超详细|一篇搞定操作系统——文件管理
  12. html站点地图怎么做,如何制作网站地图,制作网站地图的步骤
  13. 西北大学计算机课表,西北大学课表_2
  14. Photoshop2021安装教程
  15. 密西根州立大学计算机qs分数,美国密歇根州立大学在2021年QS世界排名上的名次是多少?...
  16. python 自动打包pyd
  17. CSS画五星红旗,我请AutoCAD帮忙
  18. c++中“箭头(-)”和“点号(.)”操作符的区别 .
  19. Linux 防火墙简介
  20. Python: 用xlrd读取Excel文件(*.xlsx) 实践才是检验真理的唯一标准!!!

热门文章

  1. 礼品定制与销售系统设计与实现
  2. Java Optional总结
  3. 帮我想一个实用新型专利的点子
  4. vb.net 教程 4-2 目录操作 DirectoryInfo 2
  5. windows nlb oracle,Windows群集之NLB
  6. 【实用】CMD关机、重启命令
  7. 四轴无人机——MAVLink通讯协议
  8. 基于Springboot+Vue+Mybatis的小说阅读管理系统
  9. QCon北京2013大会图灵全程为您准备好图书
  10. 宁波保税区通证经济产业园开园,33复杂美CEO吴思进应邀出席