问题及代码
Description
菲波那契(fibonacci)数(简称菲氏数)定义为: f(0) = 0; f(1) = 1; f(n) = f(n-1) + f(n-2). n>1的整数如果写出菲氏数列,则应该是: 0 1 1 2 3 5 8 13 21 34 ... 如果求其第6项,则应为8。求第n项菲氏数。
Input
输入数据含有不多于50个的正整数n(0≤n≤46)。
Output
对于每个n,计算其第n项菲氏数,每个结果应占单独一行。
Sample Input
6 10
Sample Output
8
55
/*烟台大学计算机学院 2016
作者: 马春澎
完成日期:2016年11月21日 */
#include<stdio.h>
int f(int n);
int n,x,c=0;
int main()
{
while(scanf("%d",&n)!=EOF)
{
f(n);
printf("%d\n",x);
c++;
if(c>=50)
break;
}
return 0;
}
int f(int n)
{
if(n==0)
{
x=0;
return x;
}
else if(n==1)
{
x=1;
return x;
}
else
x=f(n-1)+f(n-2);
return x;
}
运算结果
知识点总结
递归函数的用法
学习心得
本题用递归方法做很简单,要注意递归函数的表达式