#include<iostream>
#include<vector>
using namespace std;
const int maxn = 1024;
const vector<int>* fib_seq(int size) {
static vector<int> elems;
if (size <= 0 || size > maxn)
cout << "wrong size!" << endl;
for (int ix = elems.size(); ix < size; ++ix) {
if (ix <= 1)
elems.push_back(1);
else
elems.push_back(elems[ix - 1] + elems[ix - 2]);
}
return &elems;
}
int main() {
const vector<int>* p = fib_seq(20);
for(int i = 0; i < 10; ++i)
cout << (*p)[i]<<"\t";
p = fib_seq(40);
cout <<"\n"<< (*p)[35] << endl;
}
【Essential C++代码笔记】static
最新推荐文章于 2024-11-01 21:30:25 发布
本文介绍了一个使用C++实现斐波那契数列的程序。该程序通过静态向量保存已计算的斐波那契数,并能够根据需要生成指定长度的数列。演示了如何调用该函数并输出部分结果。
453

被折叠的 条评论
为什么被折叠?



