问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:陈旭
* 完成日期:2014年 11 月 17 日
* 版 本 号:v1.0
*
* 问题描述:编制递归函数fib(int n)返回第n个Fibnacci数,以此输出Fibnacci序列的第20个数
* 输入描述:递归函数所需输入的公式
* 程序输出:对应的Fibnacci序列的第20个数
*/
#include <iostream>
using namespace std;
int fib(int n);
int main()
{
cout<<fib(20)<<endl; //斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,这个数列从第二项开始,每一项都等于前两项之和。
return 0;
}
//返回Fibnacci序列中的第n个数,特别指出:第0项是0,第1项是第一个1。
int fib(int n)
{
int a;
if(n==0||n==1)
a=1;
else
a=fib(n-1)+fib(n-2);
return a;
}
运行结果:
知识点总结:
通过这个程序的编写,让我们对递归函数中这类有规律的数有了个初步的运用提升。
学习心得:
一开始完全不知道这个数是个什么东西,还好有百度,把这个数的情况完全弄明白了程序就好做多了。