C语言程序——Fibonacci
程序员文章站
2022-05-21 08:32:54
...
【问题描述】Fibonacci数列:无穷数列1,1,2,3,5,8,13,21,34,55,…, 被称为Fibonacci数列。求第n个Fibonacci数。
【输入形式】输入数字n
【输出形式】输出第n个Fibonacci数
【样例输入】6
【样例输出】8
#include<stdio.h>
int Fibonacci(int a){
if(a==1 || a==2){
return 1;
}
else{
return Fibonacci(a-1)+Fibonacci(a-2);
}
}
int main(){
int i,n;
scanf("%d",&n);
for(i=0; ;i++){
if(i==(n-1)){
printf("%d",Fibonacci(n));
}
}
return 0;
}
事实证明 能正常运行 正常显示输出数据 且是正确的
但是提交却显示时间过长
该从哪方面入手更改呢
时间复杂度
for(i=0; ;i++) 这个地方时间复杂度太高了
嗯 改成了 i<100 就可了
EOF
EOF详细简介