题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
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")