#include <iostream>
#include <vector>
using namespace std;
int num = 0;
vector<int> vec;
int Fibonacci(int n){
++ num;
cout << "第" << num <<"次 ";
if(n == 1 || n == 2){
vec[n] = 1;
cout << 1 << "\n";
return 1;
}
int b = Fibonacci(n - 1) + Fibonacci(n - 2);
vec[n] = b;
cout << b << "\n";
return b;
}
int main(){
int a;
cout << "请输入斐波那契数列长度:";
cin >> a;
vec = vector<int>(a+1,-1);
a = Fibonacci(a);
std::vector<int>::iterator it = vec.begin() +1;
for(; it != vec.end(); ++it){
cout << *it << "\t";
}
cout << "斐波那契数列是:" << a << endl << "计算次数:" << num << endl;
}
就这些
本文介绍了一个使用递归方法实现斐波那契数列的C++程序,并记录了计算过程中的递归调用次数。该程序允许用户输入斐波那契数列的长度,并输出对应的数列。
1102

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



