题解 | #Fibonacci# 记录访问过的数
Fibonacci
https://www.nowcoder.com/practice/17ad6908e36a49f4b06ea96936e8bb25
#include <iostream> #include<vector> using namespace std; vector<int>fibonacci(31,-1); int fibo(int n){ if (n==0) return 0; if(n==1 || n==2) return 1; int x,y; if (fibonacci[n-2]==-1){ fibonacci[n-2]=fibo(n-2); } x=fibonacci[n-2]; if (fibonacci[n-1]==-1){ fibonacci[n-1]=fibo(n-1); } y=fibonacci[n-1]; return x+y; } int main() { int n; while(cin>>n){ fibonacci[0]=0; fibonacci[1]=1; fibonacci[2]=1; cout<<fibo(n)<<endl; } }