斐波那契数列以0和1开头,随后的每个数字都是前两个数字之和。列如:
0,1,1,2,3,5,8,...
那要怎样输出它呢?用C++中的动态数组实现如下:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> num {0,1};//将容器数组前两位初始化为0和1
cout << "你想输出几位斐波那契数?(>2)" << endl;
cout << "请输入:";
int i=0,j;
cin >> i;
for(j=0;j<i-2;j++) {//容器数组最初就拥有两位,所以是i-2
//利用成员函数pash_back向动态数组末尾添加前两位数之和
num.push_back(num[j]+num[j+1]);
}
cout << "如下:" << endl;
//利用基于范围的for循环依次输出num数组中的数
for(auto num1:num) {
cout << num1 << " ";
}
return 0;
}
输出结果如下:
上面基于范围的for循环可以理解为:将num的数暂时存储在num1中,通过for循环依次输出。