7-3 C程序设计实验3-1:递归法求解斐波那契数列
题目描述。已知斐波那契数列公式如下:
F(n)=F(n−1)+F(n−2),(n>=3);
F(1)=1;F(2)=1。
用递归的方法求解该数列的第n项。
输入格式:
输入一个正整数n(1<=n<=50)。
输出格式:
输出该正整数n对应的斐波那契数列的F(n)。
输入样例:
2
输出样例:
F(2)=1
输入样例:
3
输出样例:
F(3)=2
输入样例:
-7
输出样例:
Wrong Input.
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
我的代码如下:
#include <stdio.h>
int fei(int n)
{
int f;
if(n==1||n==2)
f=1;
else if(n>=3)
f=fei(n-1)+fei(n-2);
return (f);
}
int main()
{
int m,f;
scanf("%d",&m);
f=fei(m);
if(m<=0)
printf("Wrong Input.");
else
printf("F(%d)=%d",m,f);
return 0;
}
但是PTA提交的答案说“运行超时”
求帮解,谢谢。