要求斐波那契数列的第1和第2个数分别为0和1,从第三个数开始,每个数等于其前两个数之和,即F(0) = 0, F(1) = 1, F(N) = F(N - 1) + F(N - 2),其中N > 1。为求斐波那契数列中的前20个数,求每行输出5个数,编写了以下程序,在3个空格处应填写哪些内容?
#include<iostream>
using namespace std;
int main() {
int n = 20; // 需要计算的项数
int f1 = 0, f2 = 1; // 前两项
int fn; // 第n项
cout << "斐波那契数列前" << n << "个数为:" << endl;
// 计算斐波那契数列的n项并输出
for (int i = 1; i <= n; i++) {
// 计算第i项
if (i == 1) {
fn = f1;
} else if (i == 2) {
fn = f2;
} else {
fn = f1 + f2;
f1 = f2;
f2 = fn;
}
// 输出当前项
cout << fn << " ";
// 每行输出5个数
if (i % 5 == 0) {
cout << endl;
}
}
return 0;
}
f1, fn, i
fn, f1 + fn, i % 5 == 0
f1 + f2, fn, i % 5 == 0
f1 + f2, f1, i % 5 == 0