斐波那契數列 農夫養牛問題

來源:互聯網
上載者:User

看到人家發的這個問題,覺得對思考問題的方式有協助,特記之

問題描述:

一個農夫養了一頭牛,三年後,這頭牛每年會生出1頭牛,生出來的牛三年後,又可以每年生出一頭牛……問農夫10年後有多少頭牛?n年呢?

 

物件導向的解決辦法

private void button1_Click(object sender, System.EventArgs e)
  {
   Hashtable hs = new Hashtable();
   Cow newcow0 = new Cow(); //初始化第一頭牛
   newcow0.Age = 0;
   hs.Add(hs.Count,newcow0);
   for(int i=0;i<10;i++)
   {
    if(hs.Count>0)
    {
     for(int j=0;j<hs.Count;j++)//每年檢查下所有的牛,到了三年的要生小牛,並加到列表中,且所有的牛每牛年齡加1
     {
      ((Cow)hs[j]).Age += 1;
      if(((Cow)hs[j]).Age>2)
      {
       Cow newcow = new Cow();
       newcow.Age = 0;
       hs.Add(hs.Count,newcow);
      }
     }
    }
    
   }
   textBox1.Text = hs.Count.ToString();
  }
  

  public class Cow
  {
   private int _age;
   public int Age
   {
    get{return _age;}
    set { _age = value;}
   }
   public Cow()
   {
    Age = 0;
   }
  }

 

純數學解決辦法(遞迴)

public int fibola(int num)
  {
   if(num<3)
   {
    return 1;
   }
   else
   {
    return fibola(num-1)+fibola(num-2);
   }
  }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.