我是一名 CSE 学生,正在为编程比赛做准备。现在我正在研究斐波那契数列。我有一个大小约为一些包含正整数的 Kilo 字节的输入文件。输入甲酸盐看起来像
3 5 6 7 8 0
零表示文件结束。输出应该像
2
5
8
13
21
我的代码是
#include<stdio.h>
int fibonacci(int n) {
if (n==1 || n==2)
return 1;
else
return fibonacci(n-1) +fibonacci(n-2);
}
int main() {
int z;
FILE * fp;
fp = fopen ("input.txt","r");
while(fscanf(fp,"%d", &z) && z)
printf("%d \n",fibonacci(z));
return 0;
}
该代码适用于样本输入并提供准确的结果,但问题是对于我的真实输入集,它花费的时间超过了我的时间限制。谁能帮我吗。