对于第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; }