求助
  • 板块学术版
  • 楼主4681GH
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/5/8 17:17
  • 上次更新2024/5/8 20:13:34
查看原帖
求助
1087165
4681GH楼主2024/5/8 17:17

我这里求的是斐波那契数列,第0,1项分别是0,1,怎么从第二项往后输出结果都是0呢?

#include<bits/stdc++.h>
using namespace std;
const int maxn=40;
int state[maxn]={0,1};
int n,sum;
void Fibonacci(int u){
    if(u==n-1){
        printf("%d\n",sum);
        return;
    }if(u==0 || u==1){
        if(u==0) printf("0\n");
        if(u==1) printf("1\n");
    }else{
        state[u]=state[u-1]+state[u-2];
        sum+=state[u];
        Fibonacci(u+1);
    }
}
int main(){
    scanf("%d",&n);
    Fibonacci(0);
    return 0;
2024/5/8 17:17
加载中...