用C语言打出两种《递归函数计算Fibonacci数列》的代码并说出他们的不同
时间: 2023-03-16 20:43:46 浏览: 56
第一种代码:int Fibonacci(int n)
{
if ( n == 0 )
return 0;
else if ( n == 1 )
return 1;
else
return ( Fibonacci(n-1) + Fibonacci(n-2) );
}第二种代码:int Fibonacci(int n)
{
int first = 0;
int second = 1;
int third = 1; for (int i = 0; i < n; i++)
{
third = first + second;
first = second;
second = third;
} return first;
}他们的不同之处在于,第一种代码采用了递归的方式,而第二种代码则是使用了循环的方式。
相关问题
用C语言打出《递归函数计算Fibonacci数列》的代码并说出他们的不同
这是一个完整的C语言代码,用来计算Fibonacci数列:#include <stdio.h>
int Fibonacci(int n)
{
if (n <= 1)
return n;
return Fibonacci(n-1) + Fibonacci(n-2);
}
int main()
{
int n, i = 0, c;
scanf("%d",&n);
printf("斐波那契数列的前%d项是:\n", n);
for ( c = 1 ; c <= n ; c++ )
{
printf("%d\n", Fibonacci(i));
i++;
}
return 0;
}这里的Fibonacci函数使用了递归的方法,它会不断地调用自身,以计算Fibonacci数列的下一项。它与非递归方法不同,非递归方法则是将每一项都存储在数组中,然后通过遍历数组来计算。
用C语言编写:请用递归函数计算斐波那契数列第n项的值
好的,这个问题属于计算机科学类问题。下面是用递归函数计算斐波那契数列第n项的C语言代码:
```c
int fibonacci(int n)
{
if (n <= 1)
return n;
else
return fibonacci(n-1) + fibonacci(n-2);
}
```
调用`fibonacci(n)`可以得到第n项的值。