专题训练1028 - 递推和递归
今天勤快懒亿点。就直接发题解了,明天再发思路。也会再在这儿放个思路链接。

题解:
#include<bits/stdc++.h> using namespace std; int main() { long long n,a=1,b=0,c=0; cin>>n; for(int i=1;i<=n;i++) { a+=b; b=0; b+=c; c=0; c+=a; } cout<<a; return 0; }

题解:
#include<bits/stdc++.h>
using namespace std; int main() { long long a[10000],n; cin>>n; a[1]=1; a[2]=1;
for(int i=3;i<=n;i++) { a[i]=a[i-1]+a[i-2]; } cout<<a[n-1]; return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int main() { long long n,a[1000]; cin>>n; a[1]=2;for(int i=2;i<=n;i++) { a[i]=a[i-1]+i; } cout<<a[n]; return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int main() { long long a,b,c; cin>>a>>b; if(a<b) swap(a,b); c=a%b; while(c) { a=b; b=c; c=a%b; } if(b==1) cout<<"Yes"; else cout<<"No"; return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int m; void h(int n,char a1,char b1,char c1) { if(n==0) return; h(n-1,a1,c1,b1); printf("%c->%d->%c\n",a1,n,b1); h(n-1,c1,b1,a1); } int main() { char a,b,c; cin>>m>>a>>b>>c; h(m,a,b,c); return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int main() { int n,f[1000]; cin>>n; f[1]=0; f[2]=1; f[3]=1; for(int i=4;i<=n;i++) { f[i]=f[i-2]+f[i-2-1]; } cout<<f[n]; return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int main() { int n=1,a; cin>>a; for(int i=1;i<a;i++) { n=(n+1)*2; } cout<<n; return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int main() { int n,f[1000]; cin>>n; f[1]=1; f[2]=2;for(int i=3;i<=n;i++) { f[i]=f[i-1]+f[i-2]; } cout<<f[n]; return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int main() { long long a,b,c; cin>>a>>b; if(a<b) swap(a,b); c=a%b; while(c) { a=b; b=c; c=a%b; } cout<<b; return 0; }

题解:
#include<bits/stdc++.h> using namespace std; int main() { long long x,y,z,a[1000]={0},b[1000]={0}; cin>>x>>y>>z; for(int i=0;i<x;i++) a[i]=1; for(int i=x;i<=z;i++) { a[i]=a[i-1]+b[i-2]; b[i]=a[i-x]*y; } cout<<a[z]; return 0; }
💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤💤
啊,不说了10点了睡觉去了(~﹃~)~zZ
#include<bits/stdc++.h>using namespace std; int main(){int n,f[1000];cin>>n;f[1]=0;f[2]=1;f[3]=1;for(int i=4;i<=n;i++){f[i]=f[i-2]+f[i-2-1];}cout<<f[n];return 0;
}
ui有一句话

浙公网安备 33010602011771号