AcWing 717. 简单斐波那契

AcWing 717. 简单斐波那契

原题链接

以下数列0 1 1 2 3 5 8 13 21 …被称为斐波纳契数列。

这个数列从第3项开始,每一项都等于前两项之和。

输入一个整数N,请你输出这个序列的前N项。

输入格式

一个整数N。

输出格式

在一行中输出斐波那契数列的前N项,数字之间用空格隔开。

数据范围

0<N<46

输入样例:

5

输出样例:

0 1 1 2 3

题解

略(本题就不在给出题解,如有疑问请私信,会第一时间做出回复)

代码实现一(递归)

#include <cstring>
#include <iostream>
#include <algorithm>

using namespace std;
int n;
int feibo[46];
int main()
{
    cin>>n; 
    feibo[1]=0,feibo[2]=1;
    for(int i=3;i<=n;i++)
     feibo[i]=feibo[i-1]+feibo[i-2];
    for(int i=1;i<=n;i++)
    cout<<feibo[i]<<' ';
    return 0;
}

代码实现二(递推)

#include <cstring>
#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int a = 0, b = 1;
    int n;
    cin >> n;

    for (int i = 0; i < n; i ++ )
    {
        cout << a << ' ';
    int c = a + b;
        a = b;
        b = c;
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/little-ProMonkey/p/12288786.html