C++ 打印斐波那契数列

要理解本示例,您应该了解以下 C++ 编程 主题


斐波那契数列是这样一个数列:下一项是前两项的和。斐波那契数列的前两项是 **0**,后面是 **1**。

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21

示例 1:打印前 n 个斐波那契数

#include <iostream>
using namespace std;

int main() {
    int n, t1 = 0, t2 = 1, nextTerm = 0;

    cout << "Enter the number of terms: ";
    cin >> n;

    cout << "Fibonacci Series: ";

    for (int i = 1; i <= n; ++i) {
        // Prints the first two terms.
        if(i == 1) {
            cout << t1 << ", ";
            continue;
        }
        if(i == 2) {
            cout << t2 << ", ";
            continue;
        }
        nextTerm = t1 + t2;
        t1 = t2;
        t2 = nextTerm;
        
        cout << nextTerm << ", ";
    }
    return 0;
}

输出

Enter the number of terms: 10
Fibonacci Series: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 

示例 2:生成不超过某个给定数的斐波那契数列的程序

#include <iostream>
using namespace std;

int main() {
    int t1 = 0, t2 = 1, nextTerm = 0, n;

    cout << "Enter a positive number: ";
    cin >> n;

    // displays the first two terms which is always 0 and 1
    cout << "Fibonacci Series: " << t1 << ", " << t2 << ", ";

    nextTerm = t1 + t2;

    while(nextTerm <= n) {
        cout << nextTerm << ", ";
        t1 = t2;
        t2 = nextTerm;
        nextTerm = t1 + t2;
    }
    return 0;
}

输出

Enter a positive integer: 100
Fibonacci Series: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 

在我们结束之前,让我们来检验一下你对这个例子的理解!你能解决下面的挑战吗?

挑战

编写一个函数来查找第 n 个斐波那契数。

  • 返回第 n 个斐波那契数,其中 n 是一个正整数。
  • 斐波那契数列是一系列数字,其中每个数字是前两个数字之和。从 **0** 和 **1** 开始,该数列为:**0**、**1**、**1**、**2**、**3**、**5**、**8**、**13**,依此类推。
  • 例如,如果 n = 6,则返回值应为 **8**。
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战