2 条题解
-
0
方法1:暴力递归(耗时大,不建议使用)
#include<bits/stdc++.h> using namespace std; int main(){ int n; long long sum; scanf("%d",&n); sum =fb(n); printf("%lld\n",sum); return 0; } long long fb(int n){ }else if(n==1||n==2){ return 1; } return (fb(n-1)+fb(n-2)); }
方法2:递推
#include <iostream> using namespace std; int main(){ int a[1001]={1,1}; int n,i; cin>>n; for(i=0;i<n;i++) a[i+2]=a[i+1]+a[i]; cout<<a[n-1]; return 0; }
方法3:正常加法计算
#include <iostream> using namespace std; int main(){ int n,i; cin>>n; int f1=1,f2=1,f; for(i=2;i<n;i++){ f=f1+f2; f1=f2; f2=f; } cout<<f; return 0; }
信息
- ID
- 59
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 20
- 已通过
- 7
- 上传者