题目描述

无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为F(n)=1     ...........(n=1或n=2)F(n)=F(n-1)+F(n-2).....(n>2)现要你来求第n个斐波纳奇数。(第1个、第二个都为1)

输入

第一行是一个整数m(m<5)表示共有m组测试数据 每次测试数据只有一行,且只有一个整形数n(n<20)

输出

对每组输入n,输出第n个Fibonacci数

样例输入

复制
3
1
3
5

样例输出

复制
1
2
5

提示

可以试着用for循环来进行递推,或者调用函数进行递归
//1递归法//
#include<stdio.h>
int feibo(int a)
{int z;if(a==1||a==2){return 1;}z=feibo(a-1)+feibo(a-2);return z;
}
int main(void)
{int n,a;scanf("%d",&n);while(n--){scanf("%d",&a);int z;z=feibo(a);printf("%d\n",z);}
}
//2迭代//
#include<stdio.h>
int n,a;
int feibo(int x,int y)
{int z;if(a==1||a==2){return x;}a-=2;while(a--){z=x+y;x=y;y=z;}return z;
}
int main(void)
{scanf("%d",&n);while(n--){scanf("%d",&a);int x=1,y=1,z;z=feibo(x,y);printf("%d\n",z);}
}

NYOJ--C语言---Fibonacci数递归迭代两种解法相关推荐

  1. 二叉树层序遍历分层[递归迭代两种思想+三种解法]

    层序遍历分层的递归迭代解法 前言 一.二叉树层序遍历分层 二.递归与迭代 总结 参考文献 前言 层序遍历作为二叉树遍历的基本遍历,一般来说只能用迭代来解.但是分层输出则既可用迭代,又可配合level用 ...

  2. C语言 拨钟问题的两种解法。

    拨钟问题 描述 有9个时钟排成一个3*3的矩阵,从上到下从左到右依次标为ABCDEFGHI. 每个时钟只有1个时针,时针初始指向3.6.9或12点. 对每一个时钟的时针共允许有9种不同的移动,每个移动 ...

  3. Day18-恶魔低语: [递归迭代], 两种方法掌握一下

    代码随想录算法训练营Day18 513. Find Bottom Left Tree Value 一开始的朴素思想是, Bottom Left Node一定是一个左子树衍生的叶子结点. 但实际会有cu ...

  4. c语言中将十六进制数转换为十进制数程序,C语言中十六进制转十进制两种实现方法...

    C语言中十六进制转十进制两种实现方法 C语言 · 十六进制转十进制 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. 注:十六进制数中的10~15分别用大写的英 ...

  5. 在c语言程序中将数据分为两种,2012年计算机二级C语言考点归纳汇总(一至四章)...

    第1章程序设计基本概念考点归纳 1.1 C语言的特点 C语言是近年来非常流行的语言,很多人宁愿放弃已经熟悉的其他语言而改用C语言,其原因是C语言有优于其他语言的一系列特点.下面是C语言的主要特点: ( ...

  6. c语言上11e2是实型常量吗,在C语言中的实型变量分为两种类型.doc

    在C语言中的实型变量分为两种类型.doc 第二章 练习题 一.填空题 1.在C语言中的实型变量分为两种类型,它们是float型和( )型. 2.若有定义:char c='\010';则变量c中包含的字 ...

  7. c语言中的实型变量语法,在C语言中的实型变量分为两种类型

    在C语言中的实型变量分为两种类型 第二章 练习题 一.填空题 1.在C语言中的实型变量分为两种类型,它们是float型和( )型. 2.若有定义:char c= \010 ;则变量c中包含的字符个数为 ...

  8. 在c语言程序设计中函数有两种类型 和,在C语言程序设计中函数有两种类型:__________和__________...

    在C语言程序设计中函数有两种类型:__________和__________ 以下程序的输出结果是()intA:6B:3C:2D:1 红楼梦中提到的名菜有A:酒酿清蒸鸭子B:奶油松瓤卷酥C:四喜丸子D ...

  9. c语言如何编程出声音,C/C++知识点之C语言播放声音最简单的两种方法

    本文主要向大家介绍了C/C++知识点之C语言播放声音最简单的两种方法,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助.1. 如果仅需要播放波形文件wav格式的声音,很简单,只需一句话 ...

最新文章

  1. 《用户体验设计 本质、策略与经验》一导读
  2. B1059 C语言竞赛
  3. 分享Kali Linux 2016.2最新镜像20160919
  4. 调试内存_C/C++程序调试和内存检测
  5. Caffe + windows + python3.5安装
  6. DL动态加载框架技术
  7. 【Chocolatey】查找包
  8. C语言程序设计 | 扫雷游戏
  9. 无需另配定时器在STM32 HAL下实现微秒级延时(兼容FreeRTOS)
  10. IBM服务器诊断面板
  11. Java数据结构:单链表Single Linked List基础笔记
  12. 【计算广告】边际成本的妙用
  13. 【工具推荐】在线latex公式编辑器(可用鼠标交互)
  14. JavaScript中的随机数--随机点名器
  15. 小尺寸2.4G SMD贴片天线方案 CA-C03 CrossAir贴片天线
  16. CWS(美国国土安全部下属的软件保证项目)与SANS(权威安全培训组织)联合编制的最危险的25个编程错误
  17. c语言CFile的使用方法,C/C++文件操作之CFile
  18. ubuntu下80端口无权限问题
  19. 小程序空格解决文字分散对齐
  20. 今晚,为梅西和莫德里奇熬夜!这个CV模型,让你猜球必赢

热门文章

  1. winserver 服务开机启动
  2. .Net WinForm 启用XP效果的问题
  3. gRPC-go 入门(1):Hello World
  4. struts2随笔(一)Action、struts.xml、Interceptor细节
  5. 一个快速排序 和 直接插入排序 的简单 c程序
  6. Go: 清空 Slice 的两种方法:[:0]和nil
  7. 编写一个 SQL 查询,找出每个部门工资最高的员工。
  8. JVM内存划分、Linux用户态、内核态简介
  9. 夹具PHP,PHP类的静态(static)方法和静态(static)变量
  10. 虚拟机以前能上网,突然上不了网