我讨厌的小母牛

Problem Description
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
 


 

Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
 


 

Output
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
 


 

Sample Input
2 4 5 0
 


 

Sample Output
2 4 6

 

#include<stdio.h>
int main()
{
    int n, i;
    int can[1000], no[1000], sum[1000] ;
    can[0] = 1;
    sum[0] = 1;
    no[0] = 0;
          for( i = 1; i <= 55; i++ )
           
              if( i < 4)
               {
                        can[i] = 1;
                        sum[i] = i+1;
                        no[i] = i;
               }
               else
               {
                
                        can[i] = can[i-3]+no[i-3];
                        no[i] = can[i]+no[i-1]-can[i]+can[i-1];
                        sum[i] = can[i] + no[i];
                  
               }
          }
          while( scanf( "%d", &n ) == 1)
          {
                 if( n == 0 )
                        break;
                 else
                        printf( "%d\n", sum[n-1] );
          }
   
}

 

#include<stdio.h>

 

int main(  )

{

    __int64 i , f[60];

    f[1] = 1  ;

    f[2] = 2 ;

    f[3] = 3 ;

    f[4] = 4;

    for(i = 5 ; i < 60 ; i++)

          f[i] = f[i-1] + f[i-3];

    while(~scanf("%I64d",&i),i)

    {

       printf("%I64d\n",f[i]);

    }

    return 0;

}

原文地址:https://www.cnblogs.com/zsj576637357/p/2250524.html