题解 | #吃糖果#
吃糖果
https://www.nowcoder.com/practice/72015680c32b449899e81f1470836097
#include<bits/stdc++.h> using namespace std; //计算吃巧克力的方案数目 int chocolateCount(int N) { //如果只有一块巧克力,则只有1种方案 if (N == 1) { return 1; } //如果只有两块巧克力,则有两种方案 else if (N == 2) { return 2; } //若巧克力块数大于2,则使用动态规划计算方案数 else { //创建一个数组存储计算结果 int dp[N + 1]; //初始化已知的方案数目 dp[1] = 1; dp[2] = 2; //计算剩余巧克力块数的方案数目 for (int i = 3; i <= N; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } //返回最终的方案数目 return dp[N]; } } int main() { int n; cin >> n; cout << chocolateCount(n); }