算法练习第一天:母牛的故事(递归)
DOTPCC的1004 母牛的问题
学会了递归的思路:先写出前几年的数量,再找到规律。
每一年的数量(除前三年)都是前一年的数量加上前三年(那一年)的数量 a4=a3+a1;
代码如下:
#include <iostream>
#include <stack>
#include <cstdio>
using namespace std;
int main()
{
int i,j,k,n,m,a1,a2,a3,a4;
while(scanf("%d",&n)!=-2&&n)
{
a1=1;
a2=2;
a3=3;
if(n==1)
printf("%d\n",a1);
else
if(n==2)
printf("%d\n",a2);
else
if(n==3)
printf("%d\n",a3);
else
{
for(i=4;i<=n;i++)
{
a4=a3+a1;
a1=a2;
a2=a3;
a3=a4;
}
printf("%d\n",a4);
}
}
return 0;
}