题解 | 吃糖果
#include <bits/stdc++.h>
using namespace std;
const int N=100;
int a[N];
int main(){
int n;
memset(a,0,sizeof(a));
while(cin>>n){
a[1]=1;
a[2]=2;
for(int i=3;i<=n;i++){
if(i>n)break;
a[i]=a[i-1]+a[i-2];
}
cout<<a[n]<<endl;
}
}
这题就是爬阶问题的改编,每多一块糖,就多一个可能性,其实这种类型的问题,本质上就是用数组模拟一个数列的递推过程