题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
#include <iostream> #include <vector> using namespace std; int main() { int n; while (cin >> n) { vector<int> dp(n + 1); dp[0] = 0; // 初始化第0项为0 dp[1] = 1; // 初始化第1项为1 for (int i = 2; i <= n; i++) { // 从第2项开始计算 dp[i] = dp[i - 1] + dp[i - 2]; } cout << dp[n] << endl; } return 0; }
功能:计算并输出斐波那契数列的第 n
项。斐波那契数列是一个每一项都是前两项和的序列,通常定义为:F(0) = 0
, F(1) = 1
, 且对于 n > 1
有 F(n) = F(n-1) + F(n-2)
。
- while(cin>>n):使用 while 循环持续从标准输入读取 n,直到输入结束。
- vector<int> dp(n+1);:创建一个大小为 n+1 的 vector(动态数组),用于存储斐波那契数列的值。