我们设第n个斐波那契数为F(n),根据斐波那契数列的定义,有:

1)当n<=2,F(n)=1;

2)当n>2,F(n)=F(n-1)+F(n-2)。

那么在我们进行递归编程的时候,可以:

1)把"当n<=2,F(n)=1"作为基础部分,即递归返回基础;

2)而"当n>2,F(n)=F(n-1)+F(n-2)"作为递归部分。

然后开始编程,实验代码如下:

#include<stdio.h>int Fibonacci(int n)
{if(n==1||n==2)return 1;    //基础部分elsereturn Fibonacci(n-1)+Fibonacci(n-2);    //递归部分
}int main(int argc,char* argv[])
{int ret_fn=Fibonacci(10);printf("%d\n",ret_fn);return 0;
}

代码运行,打印为:55。

算法实验1、用C/C++编写递归函数,计算斐波那契数(Fibonacci)Fn相关推荐

  1. 使用 Lisp 递归函数实现 斐波那契数列 Fibonacci

    Lisp 递归函数实现 (defun fib (n)(if (<= n 1)1(+ (fib (- n 1))(fib (- n 2))))) 运行测试: FIB * (fib 10) 89 * ...

  2. 编写程序,计算斐波那契(Fibonacci)数列,输出前50项。该数列的前两项都是1,从第3项开始,其后的每一个数据项都是前面的两个数据项之和。

    public class Fibonacci{public static void main(String[] args){long f1,f2,f3,n=50;f1=f2=1;System.out. ...

  3. 算法笔记_001:斐波那契数的多种解法(Java)

    本篇文章解决的问题来源于算法设计与分析课程的课堂作业,主要是运用多种方法来计算斐波那契数.具体问题及解法如下: 一.问题1: 问题描述:利用迭代算法寻找不超过编程环境能够支持的最大整数的斐波那契数是第 ...

  4. 求解斐波那契数列(Fibonacci Numbers)算法居然有9种,你知道哪几种吗?

    By LongLuo 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为&q ...

  5. python输出斐波那契数列前20项、每输出5个数换行_按要求编写程序:输出斐波那契数列的前20项,每行输出5项....

    用循环语句编写一程序,要求输出下列图形 static void Main(string[] args)        {&nbsp 用C语言编写程序:键盘输入a和b两个整数,要求用函数求两个数 ...

  6. [算法学习]斐波那契数的计算

    决定开始看algorithms,而且尽量多思考,多写点代码.第一个碰到的算法就很具有启发性,一些看似正确的算法,实际的复杂度却很高.我们直接看问题: 问题:假设fibonacci(0)=0,fibon ...

  7. JavaScript实现闭式函数计算特定位置的斐波那契数fibonacciNthClosedForm算法(附完整源码)

    JavaScript实现闭式函数计算特定位置的斐波那契数fibonacciNthClosedForm算法(附完整源码) fibonacciNthClosedForm.js完整源代码 fibonacci ...

  8. JavaScript实现动态规划方法计算特定位置的斐波那契数fibonacciNth算法(附完整源码)

    JavaScript实现动态规划方法计算特定位置的斐波那契数fibonacciNth算法(附完整源码) fibonacciNth.js完整源代码 fibonacciNth.js完整源代码 export ...

  9. JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码)

    JavaScript实现以数组形式返回斐波那契数列fibonacci算法(附完整源码) fibonacci.js完整源代码 fibonacci.js完整源代码 export default funct ...

最新文章

  1. Java项目构建打包规范,jenkins2.121.1构建java项目环境,一键打包发布
  2. 如何创建启动界面Splash Screen
  3. WindowManager.LayoutParams类22
  4. 神经张量网络:探索文本实体之间的关系
  5. js笔记(9)之定时器数字时钟延时提示框
  6. 【JVM调优工具篇】jvisualvm工具导出dump文件教程
  7. java课程设计(图书管理系统)
  8. 接收POst数据流数据
  9. Python 函数参数传递的困惑
  10. iqc工作职责和工作内容_新媒体实习生是做什么的?新媒体实习生岗位职责工作内容...
  11. c++哈利波特游戏(流行的版本的破解版)
  12. 做360度评估引发员工不满?
  13. JAVA 用集合相关知识打印超市小票
  14. 北京信息科技大学计算机学院官网,北京信息科技大学教务处官网入口地址
  15. IntelliJ IDEA 如何增加运行时候的内存
  16. [乐意黎原创] 2014年全国和云南省中级会计师成绩、分数段、过关率及年龄段统计分析
  17. 计算机网络首部检验和怎么算,计算机网络校验和算法
  18. linux文本文件导入数据库,Linux系统下如何将txt文档导入到数据库mysql的方法教程...
  19. 使用QAxObject将原来的Excel数据转换为PDF
  20. 【技术】删除右键菜单中“使用 Skype 共享“

热门文章

  1. ensembl数据库BioMart使用,查找转录本ID在ensembl与refseq中的对应关系
  2. 数值分析-多项式插值方法小结
  3. 戴尔Inspiron 5548 用原配电源给电脑充电,显示电源已连接,未充电,且电脑异常卡顿?
  4. string转blob
  5. 中英文说明书丨艾美捷双链RNA定量试剂盒
  6. 医疗行业短信发送解决方案
  7. 如何在linux系统中打开巨型帧
  8. 春招:我居然三天就拿到了offer?
  9. Mysql 数据库函数用法大全及示例
  10. 解决editplus编译出现中文乱码