`
liyin_rookie
  • 浏览: 28916 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

【转】一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢?(用JAVA实现)

 
阅读更多
     class Cow
          {
          private int age;

          public Cow()
          {
          age = 0;
          }

          public Cow bearCow()//生小牛
          {
          return new Cow();
          }

          public void grow()//每年牛龄加1
          {
          age = age + 1;
          }

          public int getAge()
          {
          return age;
          }
          }
          public class Main {
          private static Set cowSet = new HashSet ();//牛圈,存放所有的牛

          public static int check()//每年检测一遍所有的牛,年龄要加一,并且够岁数了要生效牛
          {
          Set newCowSet = new HashSet ();
          for(Cow cow : cowSet)
          {
          cow.grow();//年龄加一
          if(cow.getAge() >= 3)
          newCowSet.add(cow.bearCow());//够岁数的生小牛
          }
          cowSet.addAll(newCowSet);//把所有生出来的小牛放牛圈里
          return cowSet.size();
          }
          public static void main(String args[])
          {
          Cow cow = new Cow();
          cowSet.add(cow);
          for(int i = 0; i < 10; i ++)
          {
          System.out.println(i+1 + " : " + check());
          }
          }

          }

 public class Cow {
          public static int coun = 1;

          public static void main(String args[]) {
          new Cow().cowY(10);
          System.out.println(coun);
          //System.out.println(Cow.getNum(10));
          }


          public static int getNum(int i) {
          if (i < 3) {
          return 1;
          } else {
          return getNum(i - 1) + getNum(i - 2);

          }

          }
          public void cowY(int year) {
          int age = 1;
          while (age <= year) {
          age++;
          if (age <= year && age >= 3) {
          coun++;
          cowY(year - age);
          }
          }
          }
          }

分享到:
评论

相关推荐

    农夫养牛问题几种解法源码

    一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛……问农夫10年后有多少头牛?n年呢? 本资源提供了几种经典的解法,绝不可不看。

    农夫养牛问题java解决

    一个农夫养了一头牛,三年后,这头牛每年会生出1头牛,生出来的牛三年后,又可以每年生出一头牛 //……问农夫10年后有多少头牛?n年呢?

    经典的农夫养牛问题(面向对象和递归)

    经典的农夫养牛问题,面向对象和递归两种解决方案。

    农夫的奶牛场,C语言编写,实现奶牛出逃算法

    农夫john最近在研究如果发生重大事故,如何让农场里的奶牛逃离问题。...右边的例子表示了一个不安全的地图,因为位于(4,1)的奶牛不论是向东逃离还是向北逃离,它的路线上都会有别的奶牛,从这个图中

    农夫过河_农夫过河_源码

    1.问题描述 一个农夫带着一只狼、一只羊和一棵白菜,身处河的南岸。他要把这些东西 全部运到北岸。他面前只有一条小船,船只能容下他和一件物品,另外只有农夫 才能撑船。如果农夫在场,则狼不能吃羊,羊不能吃白菜...

    农夫过河问题农夫过河问题

    一个农夫带着一只狼、一只羊和一棵白菜,身处河的南岸。他要把这些东西全部运到北岸。他前面只有一条小船,船只能容下他和一件物品,另外只有农夫才能撑船。如果农夫在场,则狼不能吃羊,羊不能吃白菜,否则狼会吃羊...

    农夫过河(狼,羊,菜)C++实现

    一个农夫带着一只狼,一只羊和一筐菜,欲从河的左岸坐船到右岸,由于船太小,农夫每次只能带一样东西过河,并且没有农夫看管的话,狼会吃掉羊,羊会吃菜。设计一个方案,使农夫可以无损失的过河。 代码请用VS2010...

    C++基于人工智能搜索策略解决农夫过河问题示例

    一农夫带着一头狼,一只羊和一个白菜过河,小船只能一次装载农夫和一样货物,狼会吃羊,羊会吃白菜,只有农夫在时才安全。现欲让所有物品包括农夫都安全过道河对岸,求最佳答案。 状态空间 用16*4的矩阵:a[16][4],...

    农夫过河问题求解

    一个农夫带着—只狼、一只羊和—棵白菜,身处河的南岸。他要把这些东西全部运到北岸。他面前只有一条小船,船只能容下他和—件物品,另外只有农夫才能撑船。如果农夫在场,则狼不能吃羊,羊不能吃白菜,否则狼会吃羊...

    农夫过河C++

    农夫需要把狼、羊、菜和自己运到河对岸去,只有农夫能够划船,而且船比较小,除农夫之外每次只能运一种东西,还有一个棘手问题,就是如果没有农夫看着,羊会偷吃菜,狼会吃羊。请考虑一种方法,让农夫能够安全地安排...

    农夫过河深度遍及c++

    本题的状态转换算法依然是对状态空间中所有状态进行深度优先搜索,因为狼、羊和菜不会划船,所以状态转换算法也很简单,不需要象“用三个水桶均分8升水”问题那样要用排列组合的方式确定转换方法(倒水动作),本题...

    数据结构农夫过河问题

    设一个农夫过河带着一条狼、一只羊和一棵白菜,身处河的南岸。现在他要把这些西全部运到北岸,现在问题是他面前只有一条小船,船小到只能容下他和一件物品,另外只有农夫能撑船。当农夫在场的时候,这三样东西相安无事...

    广度优先搜索.pdf

    广搜.pdf 广搜.pdf 广搜.pdf 广搜.pdf 广搜.pdf 广搜.pdf 广搜.pdf

    农夫过河课程设计

    要模拟农夫过河问题,首先需要选择一个对问题中每个角色的位置进行描述的方法。一个很方便的办法是用四位二进制数顺序分别表示农夫、狼、白菜和羊的位置。例如用0表示农夫或者某东西在河的南岸,1表示在河的北岸。...

    20210228-头豹研究院-农夫山泉-9633.HK-2021年农夫山泉企业研究报告.pdf

    20210228-头豹研究院-农夫山泉-9633.HK-2021年农夫山泉企业研究报告.pdf

    农夫过河问题

    一个农夫带着一只狼、一只羊和一棵白菜,身处河的南岸。他要把这些东西全部运到北岸。问题是他只有一条小船,船小到只能容下他和一件物品,当然,船只有农夫能撑。另外,狼能吃羊,羊爱吃白菜,所以不能留下羊和狼...

    农夫过河问题代码

    农夫过河问题的一种解法.一个在校大学生的课程设计。请斧正!

    农夫过河问题 数据结构

    一个农夫带着一只狼,一只羊和一棵白菜,身处河的南岸。他要把这些东西全部运到北岸。他面前有一条小船,船只只能容下他和一件东西,另外只有农夫才能撑船。如果农夫在场,则狼不能吃羊,样不能吃白菜否则狼会吃羊,...

    Java语言解决农夫过河问题

    问题描述:农夫要带鱼、狗、猫过河到对岸.,有一条船,只能坐一个人,农夫每次只能带一样动物过河,当农夫不在的时侯狗会咬猫,猫会吃鱼.,请问怎么顺序过呢?要求:编写程序,由程序来推出过河的顺序 用Java语言...

    农夫导航采集器v3.0.8免费安装版

    农夫导航采集器是一款可以按给定关键词,找到相关的图片的软件,快来下载体验吧! 软件介绍 通过百度搜索得到相关页面,简单分析后认定是企业网站的,转到其首页,或“关于我们”页,取得电话号码和邮件地址。可以...

Global site tag (gtag.js) - Google Analytics