每日一题3.23.1

每日一题3.23.1

统计每个月兔子的总数

每日一题3.23.1
解题思路: 设定3个值a,b,c,分别表示大小为一个月,两个月,三个月及以上的兔子数,a的初始值为1,b,c都为0,之后每个月,c+=b,b=a,a=c,依次循环,直到输入的n–为0时终止,倒序输入的月数,得到最终结果,(记得循环输入n 时每次要将a,b,c重新置为初始值)
代码实现:

#include<iostream>
using namespace std;

int main()
{
	int n;
	int count = 0;
	
	while (cin >> n)
	{
		int a = 1, b = 0, c = 0;
		while (--n != 0)
		{
			c += b;
			b = a;
			a = c;
		}
		count = a + b + c;
		cout << count << endl;
		count = 0;
	}
	return 0;
}

参考答案:
每日一题3.23.1