欢迎访问北大青鸟鲁广校区~

  1. 加入收藏
  2. 设为主页
  3. 学校简介
北大青鸟鲁广校区

17740513250

三分钟了解北大青鸟

×
  • 数据加载中...
当前位置:网站首页 > 北大青鸟 > 学员活动 >

用简单的java语言解决趣味小知识

责任编辑:宏鹏来源:武汉北大青鸟鲁广校区发布时间:2013-12-05 15:18:29
导读:Java的应用范围很广泛。在学习java编程语言的过程中,我们可以用所学的知识解决生活中遇到的一些应用问题。它既能帮助我们巩固所学知识,又能增强我们的成就感。

用简单的java语言解决趣味小知识

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。在我们学习java编程语言的过程中,我们可以用我们所学习的简单的语法解决一些非常有趣的小问题,既可以帮助我们理解java程序逻辑,又可以让枯燥的java变得简单有趣。

百钱买鸡

我国古代数学家张丘建在《张丘建算经》一书中提出了“百鸡问题”:5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡,母鸡,雏鸡多少只?

关键思路:

我们可以用我们学过的二重循环来实现。用整形变cock来表示公鸡的数量,用hen来表示母鸡的数量,chicks来表示雏鸡数量。公鸡(cock)不可能超过20只,母鸡(hen)不可能超过33只。我们想想可以得到5*cock+3*hen+k/3=100。公鸡(cock)母鸡(hen)加上小鸡(chicks)一共100只。

解决办法:

先我们定义三个变量:公鸡(cock),母鸡,(hen)和小鸡(chicks)。我们以公鸡(cock)为列。我们知道100文部来买公鸡的话公鸡不能超过20只!这样我们就可以得出我们外层循环的循环条件是for(cock=0;cock<=20;cock++) 如下图所示

内层循环怎么做呢?其实还是一样的思路,内层循环我们用母鸡的数量作为循环条件,3文钱一只的母鸡,总数是不可能超过33只的。所以我们用同样的思路就写出了内层循环for(hen=0;hen<=33;hen++)

如下图所示

我们循环条件写好了。循环里面的代码该怎么实现呢?大家可以想一下,当公鸡(cock)为0只,进入内层循环,当母鸡(hen)为0只那么小鸡(chicks)的数量为多少呢?100只鸡减去公鸡(cock)的数量再减去母鸡(chicks)的数量自然就是小鸡(chicks)的数量。其实还有一个大家都忽视的一个点就是小鸡(chicks)是1文钱3只,假如是4只那么我们花了多少钱?所以这一点我们一定要考虑面!这样按思路做下去,我们还要在if()判断语句里面加上一个判断条件小鸡(chicks)的数量余3必须是0。这样我们整理下思路和代码,就能得出结论了!如下图所示:

答案就是如下图所示:

做完了百钱买鸡的问题是不是觉得用java来做这样的题目很有意思?下面还有几个题目让我们一起来看看吧!

鸡兔同笼

还有一个古代非常有趣的问题,小时候老师都讲过鸡兔同笼。那我们怎么用java程序实现鸡兔同笼的问题?

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

关键思路:

我们还是可以用for循环来做这题,从这个题目中我们知道可以定义两个变量,鸡兔一共有94条腿,我们知道兔子有4条腿,所以兔子多只能有94除以4,就是23只余2.。然后鸡的只数就是总数的35减去兔子的只数。我们想好思路后就可以开始用java来实现这个题目了。

解决办法:

先我们当然就是要定义鸡(chicken)这个变量跟兔(rabbit)这个变量,接下来就是用我们的for循环来实现了。可是我们循环条件该写什么呢?这就要用到我们刚才想到的思路了!鸡兔一共有94条腿,兔子(rabbit)的只数多就只能是23(只)余2。这样想一想我们for循环就只用循环23次就够了。这样我们for循环里面的条件就出来了。

如图所示

下面我们再看看循环体里面的代码该怎么写。鸡(chicken)的数量就是鸡兔的总和减去兔(rabbit)的数量,我们下一步就该写chicken=35-rabbit;接下来我们还是要用if()判断语句来判断兔子的数量跟鸡的数量是否符合题目条件,脚的数目加起来是否等于94只。这样我们就可以得出我们题目的答案了。

如下图所示:

怎么样?做完题是不是觉得第二题很类似呢?其实学习java编程语言,只要理清思路,那么你一定能成为一个大牛。下面还有一个题目大家一起来看看吧!

猴子吃桃问题

猴子天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天吃剩下的一半零一个。到第十天早上想再吃时,见只剩下一个桃子了。求天共摘了多少?

关键思路:

这个题目就跟上面的不一样。但是我们只要认真看题目就能找到其中关键的东西,猴子天摘了若干个桃子,吃了一半,不过瘾,又多吃了一个。第二天又吃了一半加上一个,这样我们就可以用数学上面的公式来做。我们定义一个变量m代表的是后面一天的桃子的个数,n就是前面一天的个数。我们求得就是天的个数也就是n的值。我们得出一个方程式为m=(n/2-1),我们的目的就是求n 的值。换算过来就是n=2(m+1),再往前面一天计算的话,n就是m。

解决方法:

我们定义变量m,代表的是我们思路里面的n。因为在java里面我们的=是赋值,我们for()循环里面的循环变量就是天数而定也是10天,我们要求天的猴子摘得桃子数量所以我们要从第十天开始降序算起。循环变量就是for(int i =10;i>0;i--)。

接下来就是要求出桃子的数量,我们在关键思路里面说过,后n就等于m所以要求出m(n)的值,就有m=2*(m+1)。我们理清代码就能得出我们的答案了。

如图所示:

答案就是:

做完上面的这几道非常有趣的题目是不是对java的兴趣越来越大了?其实大家可以多去网上找一找趣味题目用java来实现,过程很辛苦,但是做出来之后是非常有成就感的!大家一起去知识的海洋里面遨游吧!

北大青鸟鲁广校区 21315班 向毅涵

本文标题:#用简单的java语言解决趣味小知识#,宏鹏发布于北大青鸟鲁广校区。Java的应用范围很广泛。在学习java编程语言的过程中,我们可以用所学的知识解决生活中遇到的一些应用问题。它既能帮助我们巩固所学知识,又能增强我们的成就感。

专业老师指导

专业老师指导

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业。

培训咨询客服

培训咨询客服

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑。

本文地址:https://www.027hpedu.com/html/2992.html

大家都在看的大家都在看的学员活动

热门课程

更多>>
  • 数据加载中...
7天免费试学

7天课程免费试学

实战学习干货限时领取

行业解读+大咖授课+项目实操
10年以上业内强师集结,手把手带你蜕变精英!

点我咨询
×
在线咨询更多问题

如您有任何疑问
在线咨询随时为您解答或拨打咨询热线:13125006136

×
  • 姓 名*
  • 手 机*
  • QQ号/微信号
  • 所报学科 *
  • 其他备注
  • 验证码 获取验证码 *
  • 温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。