18、斐波那契数列的第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_________; 0 1 2 3 5 5
f1 = f2;
f2 =________fn_____;
}
// 输出第i项
cout << fn << "\t";
// 每行输出5个数
if (_____i%5==0______) {
cout << endl;
}
}
return 0;
}(5 分)
A.f1, fn, i==5
B.fn, f1+fn, i/5==0
C.f1+f2, fn, i%5==0
D.f1+f2, f1, i%5==0