求大神指导如何所小这个斐波那契数列程序的大小

#include<stdio.h>
int F(int a){
    if (a==1){
        return 1;
    }
    else if (a==0){
        return 0;
    }
    else{
        return F(a-1)+F(a-2);
    }     
}
int sum(int b){
    return F(max-1)+F(max-2);
}
int main(){
    int N;
    scanf("%d",&N);
    printf("%d",sum(N));
    return 0;    
}
阅读 2.8k
3 个回答
#include <stdio.h>

int F(int a) {
    if (a == 0 || a == 1)
        return a;
    return F(a - 1) + F(a - 2);
}

int main() {
    int N;
    scanf("%d", &N);
    if (N < 0) {
        printf("Input less than 0. Exit\n");
        return -1;
    }
    printf("%d", F(N));
    return 0;
}
int F(int a){
    return (a < 2 ) ? a : (F(a - 1) + F(a - 2));
}

一个递推式活生生的变成了递归。。
这得浪费多少时间

f[i] = f[i-1] + f[i-1];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进