[AcWing] 简单斐波那契

简单斐波那契

题目

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

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

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

输入格式

一个整数n。

输出格式

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

数据范围

0 < N < 46 0<N<46

输入样例

5

输出样例

0 1 1 2 3

题解

思路

  • 状态表示:f[i] 表示下标 i 对应的数值
  • 状态方程:f[n] = f[n-1] + f[n-2]
#include <iostream>

using namespace std;

const int N = 50;
int n, f[N];

int main () {
    cin >> n;
    
    f[1] = 1;
    for (int i = 2; i <= n; i ++) 
        f[i] = f[i - 1] + f[i - 2];
    
    for (int i = 0; i < n; i ++)
        cout << f[i] << " ";
    
    return 0;
}
发布了83 篇原创文章 · 获赞 1 · 访问量 5895

猜你喜欢

转载自blog.csdn.net/weixin_44922845/article/details/104660653
今日推荐