【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】
题目:
题目:定义Fibonacci数列如下:/ 0 n=0
f(n)= 1 n=1
/ f(n-1)+f(n-2) n=2输入n,用最快的方法求该数列的第n项。
分析:在很多C语言教科书中讲到递归函数的时候,都会用Fibonacci作为例子。
题目分析:
一、Fibonacci数列格式如下:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
二、方法简单,巧用递归
算法实现:
#include <stdio.h>
int get_n(int n)
{
if(n == 0)
return 0;
else if(n <= 1)
return 1;
else
{
return (get_n(n-1) + get_n(n-2));
}
}
int main(int argc, char *argv[])
{
int m = atoi(argv[1]);
printf("%d----->%d\n", m, get_n(m));
return 0;
}