`
liyin_rookie
  • 浏览: 29337 次
  • 性别: 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);
          }
          }
          }
          }

分享到:
评论

相关推荐

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

    在这个问题中,农夫有一头牛,这头牛在第三年之后每年会生出一头新的牛,而新生的牛在经历三年同样会每年生出一头牛。我们要计算的是,在n年后,农夫会有多少头牛。 这个问题可以通过多种编程语言来解决,这里我们...

    农夫养牛问题java解决

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

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

    问题的核心是计算在一定年数后,一头牛繁殖的后代总数,假设每头牛三年后开始生育,每年生育一头牛,并且新生的小牛同样遵循这个规律。在这个问题中,我们可以看到两种主要的解决方法:递归和面向对象。 首先,我们...

    c++:母牛生小母牛问题(递归)

    在本问题中,我们遇到了一个有趣的数学问题:假设有一头小母牛,它从出生的第四年开始,每年都会生一头小母牛。根据这一规律,我们需要计算在第 N 年时,共有多少头母牛。 这个问题可以通过递归的方式来解决。递归...

    广度优先搜索.pdf

    在给定的文件内容中,描述了一个农夫要在数轴上找到一头牛的问题,农夫和牛的初始位置是已知的,并且农夫有两种移动方式:一次一个单位(向左或向右),或者一次两个单位。农夫的目标是找到到达牛的位置所需最少的...

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

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

    人工智能 狼 羊 白菜 农夫过河

    这道题目实质上是一个有限状态机的问题,可以通过深度优先搜索(DFS)、广度优先搜索(BFS)或者动态规划来解决。 首先,我们要明确问题的关键在于保持食物链的关系不被破坏,即在任何时候都不能让狼与羊独处,也不...

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

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

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

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

    农夫过河的问题

    在这个问题中,通常设定有农夫、他的儿子、他的女儿、一只狼、一只羊和一颗白菜,只有一艘小船,且每次只能载两个人或物。问题的挑战在于,农夫不能离开孩子单独与狼或羊在一起,因为狼会吃羊,羊会吃白菜。同样,也...

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

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

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

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

    农夫过河课程设计

    该问题描述如下:一个农夫需要将一只羊、一条狼和一棵白菜从河的一侧带到另一侧。但小船只能承载农夫和他的其中一个物品。此外,如果农夫不在场时,狼会吃掉羊,羊又会吃掉白菜。因此,农夫必须制定一个策略,使得狼...

    农夫过河问题求解

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

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

    在这个行业背景下,农夫山泉抓住了市场的发展机遇,特别在无糖化饮料这一健康化趋势中表现突出。 其次,健康化、无糖化、高端化已经成为未来软饮料行业的发展方向。中国饮料市场中的无糖化趋势正逐步兴起,虽然与...

    基于农夫山泉的STP战略分析.docx

    STP战略分析在农夫山泉公司中的应用主要包括市场细分、目标市场选择和市场定位三个方面。农夫山泉公司需要根据消费者的需求和特征,选择合适的市场细分方法,并选择合适的目标市场,以便更好地满足消费者的需求。...

    农夫过河问题源码

    例如,农夫单独过河后,如果狗和猫都在左岸(d, A),那么这就是一个非法状态,因为此时狗会咬猫。 为了找到解决方案,我们可以使用广度优先搜索(BFS)或深度优先搜索(DFS)策略。这里,广度优先搜索通常是首选,...

    c语言农夫过河思维游戏程序及源代码

    "农夫过河.exe"是一个可执行文件,它是编译源代码后得到的结果,可以直接在支持的平台上运行,无需再次编译。玩家可以通过这个文件直接体验游戏,验证自己的解决方案,或者与他人分享。 总的来说,这个项目结合了...

    农夫过河C++

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

Global site tag (gtag.js) - Google Analytics