有一头牛,生下了一头小牛,该小牛四年之后,也生下一头小牛,生下的每头小牛,四年之后都会生一头下牛,请用程序算出在二十年之后,一共有多少头牛。

解决方案 »

  1.   

    public void Sum(int year){
      int count = year/4;
      
      int sum = Count(count);
    }public int Count(int n)
    {
    if(n == 1)
    {
    return 1;
    }else
    {
    return 2*Count(n-1);
    }
    }
      

  2.   

    function generate(n, i) {
        for(; i > 0; i --) 
            i % 4 || (n *= 2);
        return n;
    }
      

  3.   

    int count=1;
    for(int i=1;i<=20;i++){
    if(i>0&&i%4==0){
    count*=2;
    }
    }
    System.out.println(count);
      

  4.   

    Java codeint count=1;
            for(int i=1;i<=20;i++){
                if(i>0&&i%4==0){
                    count*=2;
                }
            }
            System.out.println(count);
      

  5.   

    20年后一共有7头牛,可以扳手指头算:<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>小牛问题</title>
    </head>
    <body>
    有一头牛,生下了一头小牛,该小牛四年之后,也生下一头小牛,生下的每头小牛,四年之后都会生一头下牛,请用程序算出在二十年之后,一共有多少头牛。
    <script type="text/javascript">    //假定每只牛在4岁的时候就会生下一头小牛,而且一生只生一次,并且寿命超过20年
        var year = 1; //这是第一年
        var AllNiu = new Array(); //所有牛的数组
        AllNiu[0] = 4; //第一头牛已经4岁了
        AllNiu[1] = 0; //生下一头小牛,它0岁    while (year <= 20) {
            var currCount = AllNiu.length;
            for (var i = 0; i < currCount; i++) {//在当前所有的牛中查找
                AllNiu[i]++; //长一岁
                if (AllNiu[i] == 4)
                   AllNiu[AllNiu.length] = 0; //当前的牛生下一头小牛,数组增加一个元素
            }
            year++;
        }
        alert("20年后所有小牛的数量:" + AllNiu.length);
    </script>
    </body>
    </html>
      

  6.   

    答案是否为76?class COW
    {
    public:
    COW();
    ~COW();
    COW*  birth()
    {
    COW* p= new COW;
      return p;
    }
    int age;
    COW* pNext;
    }int main()
    {
    int i;
      COW* pcow=new COW;/*第一头牛*/
      pcow->age=0;
      pcow->pNext=new COW;/*第二头*/
      pcow->pNext->pNext=null;
      pcow->pNext->age=0;
      COW *p=null,*pTemp=null;
     for(i=1;i<=20;i++)
     {
      p=pcow;
          while(p)
          {
            p->age=p->age+1;
            if(!(p->age%4))
            {
                 pTemp=p->birth;
                 pTemp->pNext=pcow;
                 pTemp->age=1;
                 pcow=pTemp;
            }
            p=p->pNext;
          }
     }
     p=pcow;
     for(i=0;p;)
     {
       i++;
       p=p->pNext;
     }
     return i;
    }
      

  7.   

    晕,竟然贴错了!我的答案是76
    #define null 0
    #include <stdio.h>
    class COW
    {
    public:
    COW  *birth(void);
    int age;
    COW* pNext;
    };COW  * COW::birth( void )
    {
    COW* p= new COW;
    return p;
    }int main()
    {
    int i;
    COW* pcow=new COW;/*第一头牛*/
    pcow->age=0;
    pcow->pNext=new COW;/*第二头*/
    pcow->pNext->pNext=null;
    pcow->pNext->age=0;
    COW *p=null,*pTemp=null;
    for(i=1;i<=20;i++)
    {
    p=pcow;
    while(p)
    {
    p->age=p->age+1;
    if(!(p->age%4))
    {
    pTemp=p->birth();
    pTemp->pNext=pcow;
    pTemp->age=1;
    pcow=pTemp;
    }
    p=p->pNext;
    }
    }
    p=pcow;
    for(i=0;p;)
    {
    i++;
    p=p->pNext;
    }
    printf("总数是:%d",i);
    getchar();
    return i;}
      

  8.   

    int niu = 1;
    for(int i = 0;i<=3;i++)
    niu+=niu;
      

  9.   


    int count = 1;
    count = count * (2 << (N >> 2))
      

  10.   

    public static void main(String[] args) {
    int years = 20;
    int  year = 4;
    int num = years/year;
    int count = 1;

    for(int i =1 ;i <= num;i++){
    count = getNiu(count);
    }
    System.out.println(count);
    }

    public static int getNiu(int count){
    int sum = count * 2; 
    return sum;
    }结果:32
      

  11.   

    The description of this question is now so clear,that we can't solve it!