题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
#include <cstdint>
#include <iostream>
using namespace std;
int main() {
int month;
cin >> month;
int rabbit_cnt = 0;
int add_rabbit[31] = {0};
/* 从4月份开始,当月的新增兔子数量 = 上月新增兔子数量 + 上上月新增兔子数量 */
/* 2月份,新增兔子数量为0 */
add_rabbit[1] = 0;
/* 3月份,新增兔子数量为1 */
add_rabbit[2] = 1;
/* 从4月份开始,当月的新增兔子数量 = 上月新增兔子数量 + 上上月新增兔子数量 */
for(int i = 4; i <= month; i++)
{
add_rabbit[i-1] = add_rabbit[i-2] + add_rabbit[i-3];
}
/* 累加所有的新增兔子数量 */
int add_rabbit_cnt = 0;
for(int i = 0; i < month; i++)
{
add_rabbit_cnt += add_rabbit[i];
}
/* 加上最早的一只兔子 */
add_rabbit_cnt+=1;
cout << add_rabbit_cnt;
}
// 64 位输出请用 printf("%lld")
