作业帮 > 综合 > 作业

C语言的函数问题求斐波那契前四十个数,斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 23:38:33
C语言的函数问题
求斐波那契前四十个数,斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)
我的问题是:这道题能不能用函数的递归调用来解决,类似求n!那样.我对照了书上说的,这道题具备函数的递归调用所要求的条件.希望给出说明,而不只是代码.
/>#include<stdio.h>
//the nest function used to calculate the num fibonacii number
long fibonacci(long num); 
 //
//using qin;
//using namespace 
 int main()
 {
for(int i = 0; i < 40; i++)
{
printf("The %d fibonacii number is:%ld\n", i + 1, fibonacci(i));
}

  return 0;
 }
 /*
 *函数说明,如果函数形参是第一个数和第二个数分别返回0,1,如果不是就采用递归方程就好了.
 */
 long fibonacci(long num)
 {
     if(num == 0)
 {
   return 0;
 }
 else if(num ==1)
 {
 return 1;
 }
 else
 {
 return fibonacci(num - 1) + fibonacci(num - 2);
 }
 }