用递归法求Fibonacci数列
题目要求
输入:输入一个正整数n,n表示Fibonacci数列的第n项。
输出:输出一个数表示Fibonacci的第n项数。
要求:运用递归的方法编写程序。
做题思路
1.求Fibonacci第n项的数可以考虑用函数,然后考察递归的用法,而且运用递归的方法让程序更加精简。
2.同时这一题其实与c语言中的兔子繁殖问题相似,兔子繁殖问题的实质就是Fibonacci数列。
参考代码
#include<stdio.h>
int fibonacci(int x) //fibonacci or 兔子繁殖问题
{
if (x == 0 || x == 1)
return 1;
return fibonacci(x - 1) + fibonacci(x - 2); //递归 缺点:耗时
}
int main(void)
{
int n;
while (scanf("%d", &n) != EOF)
{
printf("%d\n", fibonacci(n));
}
return 0;
}
输出结果
注意事项
递归的缺点就是运行耗时,尤其是当输出数字较大时。