问题标题: 酷町堂:2744 斐波那契数列2

0
0
已解决
张舒斌
张舒斌
中级光能
中级光能

题目

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[n];
    a[1]=1;
    a[2]=1;
    for(int i=3;i<=n;i++)
    {
        a[i]=a[i-2]+a[i-1];
    }
    cout<<a[n];
    return 0;
}

哪错了?求思路


0
1
张梓沫
张梓沫
资深守护
资深守护

因为数组下标是从0开始的,所以定义的数组a[n]是从a[0]到a[n-1],

你定义的太小了,最好在using namespace std;后面另起一行,定义一个s[3000]

因为扔到外面可以定义的更大一点,不然可能会runtime

其他都是对的

张梓沫在2018-07-29 13:34:17追加了内容

对不起,刚刚打错啦,应该是a[3000]

0
0
李彬
李彬
初级守护
初级守护

涵数:

int fb(int n){
 if(n<=2)return 1;
 return fb(n-1)+fb(n-2);
}

0
我要回答