简单的递归,不解释
#include <bits/stdc++.h> using namespace std; int st(int n) { if(n > 0) { if(n == 1) return 1; else if (n == 2) return 2; else return st(n - 1) + st(n - 2); } else return 0; } int main(){ int n; cin >> n; cout << st(n); return 0; }
#include<bits/stdc++.h> using namespace std; const int N=1000; int main() { long long int f[N]; int n; cin>>n; f[1]=1; f[2]=2; if(n==1) cout<<f[1]; if(n==2) cout<<f[2]; if(n!=1 && n!=2) {for(int i=3;i<=n;i++) { f[i]=f[i-1]+f[i-2]; } cout<<f[n]; } }
这题要数组+long long
注册一个 TZHSOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 TZHSOJ 通用账户