我一共编写了两个程序,但是在学校OJ(南邮)上还是超时了,程序本身没有错,但是占用内存太大,希望个位帮我改进,如下:
1#include "stdio.h"
int main()
{
int s=0,f=1,F=0,n;
do{scanf("%d",&n);
}while(n=40);
if(n==1||n==2)
printf("1");
else
{
while(--n)
{
s=f+F;
F=f;
f=s;
}
}printf("%d",s);
return 0;
}
2,#include
long f(int n)
{
if(n==0||n==1)return n;
else return f(n-1)+f(n-2);
}
int main()
{
int n;
do{
scanf("%ld",&n);
}while(n=40);
printf("%ld\n",f(n));
return 0;
}
|