题解 | #吃糖果#
吃糖果
https://www.nowcoder.com/practice/72015680c32b449899e81f1470836097
同走楼梯问题,写于2024.3.17
#include <iostream> using namespace std; int func(int x) // x天吃完有多少吃法 { if (x == 0) { return 0; } else if (x == 1) return 1; else if (x == 2) return 2; else { return func(x - 1) + func(x - 2); } } int main() { // 非递归,dp[i]数组代表用了i天吃完 int n, i; scanf("%d", &n); int dp[n + 2]; dp[0] = 0; dp[1] = 1; for (i = 2; i < n + 2; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } cout << dp[n + 1]; return 0; // // 递归 // int n; // scanf("%d", &n); // cout << func(n); }