对于第i块糖,要么是截止到前一天一共吃了i-1块,要么是截止到前一天一共吃了i-2块
即递推关系:dp[i]=dp[i-1]+dp[i-2]
#include <iostream>
using namespace std;
int main(){
int N=0;//巧克力数目
//初始化
int dp[20]={0};//1-19块
dp[1]=1;
dp[2]=2;
while(cin>>N){
for(int i=3;i<=N;i++){
//吃第i块的时候要么是一开始吃了i-1块再吃了1块,要么是i-2块再吃了2块
dp[i]=dp[i-1]+dp[i-2];
}
cout<<dp[N]<<endl;
}
return 0;
}

京公网安备 11010502036488号