我这里求的是斐波那契数列,第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;