竞赛
考级
l=[0 for i in range(61)] def a(n): if n<=2: return 1 if l[n]!=0: return l[n] l[n]=a(n-1)+a(n-2) return l[n] n=int(input()) print(a(n))
题解见此处 -> 点这里
#include<bits/stdc++.h> using namespace std; long long b[114514]; long long f(int n) { if(b[n]!=0) { return b[n]; } if(n<=2) { return b[n]=1; } else { return b[n]=f(n-1)+f(n-2); } } int main() { int n; cin>>n; cout<<f(n); return 0; }
#include <bits/stdc++.h> using namespace std; long long f[61]; long long a(long long n){ if(f[n]){ return f[n]; }else if(n <= 2) { return f[n] = 1; }else{ return f[n] = a(n - 1) + a(n - 2); } } int main() { long long n; cin >> n; cout << a(n); return 0; }
共33条
提交答案之后,这里将显示提交结果~