No.8 递归快速输出斐波那契数列
规定了范围为1~90;
主要思想是将已经计算过的值存入数组,后面大值计算会简单很多
#include<iostream>
#include<fstream>
using namespace std;
void Fibo(int n, long long F[]) {
if (n == 1 || n == 2) {
F[n] = 1;
return;
}
if (F[n] != 0) {
return;
}
else {
Fibo(n - 1, F);
Fibo(n - 2, F);
F[n] = F[n - 1] + F[n - 2];
}
}
int main() {
ifstream infile("input.txt");
int n;
infile >> n;
if (n <= 0 || n > 90) {
cout << "WRONG" << endl << endl;
}
else {
long long F[91] = { 0 };
Fibo(n, F);
cout << F[n] << endl << endl;
}
return 0;
}