您的位置:首页 > 其它

p1013

2016-05-14 23:20 267 查看
简单题意:有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛

解题思路:这题是一道递推题,)去年的母牛,只要没有死,今年仍在因此有f(n-1)头, 2)今年出生的母牛有多少?大前年(第n-3年)有多少头母牛,那么到了今年这些牛都能生小牛了,因此出生数为f(n-3). 从而今年的母牛数为f(n)=f(n-1)+f(n-3). 因此得到递推公式:f(1)=f(2)=f(3)=1,f(n)=f(n-1)+f(n-3)(n>=4)

感想:想清楚 递推关系就很好写了

AC代码:

#include<stdio.h>

int main()

{

   int n,i;  

   int f1=1,f2=2,f3=3,f4;

   while(scanf("%d",&n)!=EOF)

   {if(n==0) return 0;

   if(n>=1&&n<=3) f4=n;

   if(n>3)

   {

        f1=1,f2=2,f3=3,f4=0;

        for(i=3;i<n;i++)

        {

         f4=f1+f3;

         f1=f2;

         f2=f3;

         f3=f4;

        }

   }

   printf("%d\n",f4);

   }

   return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: