`
xifangyuhui
  • 浏览: 188655 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

“百元买百鸡问题”之一重循环实现

阅读更多

问题描述:

每只母鸡 3 元,每只公鸡 4 元,每只小鸡 0.5 元,如果花100 元钱买 100 只鸡,请问有哪些可能?说明:每种鸡的数量都可以为零。

 

今天在java编程那些事上看到了这个问题,网上已经有很多版本的答案了,三重循环实现的,二重循环实现的,一重循环实现的,今天我尝试用1重循环实现了,大家看看我的方法,欢迎拍砖。

由题意 假设母鸡买m只,公鸡买g只,小鸡买x只,那么0<=m<=33,0<=g<=25,0<=x<=200,相信大家这个应该都知道。

另外 m+g+x=100                            (1)

     3m+4g+0.5x=100                     (2)

要实现一重循环首先要消去一个变量,先选择消去m(即母鸡数),那么(2)-3*(1)得到: 2.5x-g=200

那么:

       公鸡(g)的数量:g=2.5x-200,

       母鸡(m)的数量:m=100-x-g=100-x-(2.5x-200)=300-3.5x

由于0<=m<=33,0<=g<=25,0<=x<=200

即小鸡的数量(x)要同时满足:

0<=(300-3.5x)<=33                        (1)

0<=(2.5x-200)<=25                        (2)

0<=x<=200                                     (3)

得到80<=x<=700/6

那么就可以利用一重循环实现了,请看下面代码:

 

/*
		 * 百元百鸡问题
		 * 80,600/7这些数字的由来请看上面的分析
		 */
		int m = 0, g = 0;   //m是母鸡的数量,g是公鸡的数量,x是小鸡的数量
		for(int x=80; x<=600/7; x++) {
			m = (int)(300 - 3.5*x);
			g = (int)(2.5*x - 200);
			if(3*m + 4*g + 0.5*x == 100) {
				System.out.println("母鸡:" + m + ",公鸡:" + g + ",小鸡:" + x);
				
			}
		}

 

执行结果:

母鸡:20,公鸡:0,小鸡:80
母鸡:13,公鸡:5,小鸡:82
母鸡:6,公鸡:10,小鸡:84

 

 这仅是我的想法而已,通过这种题我深刻地体会到计算机和数学真的是一家啊。

请大家提出意见。。。

 

 

 

 

0
0
分享到:
评论
1 楼 juda 2010-11-09  
人脑代替电脑做了很多关键的工作

相关推荐

    VB 百元买百鸡

    【VB 百元买百鸡】是一个经典的编程问题,源于中国的数学趣题“百钱买百鸡”,在VB(Visual Basic)环境下进行编程解决。这个问题的背景是:假设鸡每只值5元,兔每只值3元,鹅每只值2元,用100元钱去购买100只鸡、兔...

    百元买百鸡问题 蛮力法——C语言代码

    总的来说,"百元买百鸡问题 蛮力法——C语言代码"是一个很好的练习,可以帮助初学者掌握C语言的基本语法、循环结构和条件判断,同时也能对蛮力法有一个直观的理解。虽然这种算法在效率上并不理想,但它在教学中起到...

    delphi7 百元买百鸡问题

    在IT行业中,编程解决问题是一项基本技能,而"百元买百鸡问题"是一个经典的数学问题,也常被用作编程教学中的案例。这个问题源于中国古代,考验的是逻辑思维和算法设计能力。Delphi 7是一款经典的面向对象编程语言,...

    百元买百鸡_vb6_VB6数学计算_百元买百鸡_源码.zip

    《百元买百鸡》是经典的数学问题,源自中国古代算术,它涉及到整数规划和逻辑推理。在VB6(Visual Basic 6)环境中,我们可以用编程的方式来解决这个问题,这同样是一个很好的教学示例,帮助学习者理解编程思维和...

    c语言百元买百鸡问题.zip

    在C语言编程中,"百元买百鸡"是一个经典的数学问题,也称为"鸡兔同笼"问题的变体。这个问题源于中国古代的算术书《算经》,它旨在通过有限的条件推导出未知数的值。在这个问题中,我们需要用100元钱购买100只鸡,每...

    枚举法解决百元买百鸡PPT学习教案.pptx

    例如,在【百元买百鸡问题】中,我们需要购买价值为100的钱的鸡,鸡分为三种类型:公鸡(值5钱)、母鸡(值3钱)和小鸡(3只值1钱)。通过设立三个变量`x`、`y`、`z`分别表示公鸡、母鸡和小鸡的数量,我们可以构建一...

    15-百元买百鸡-项目源码与素材,Scratch少儿编程,经典教学作品,儿童益智游戏

    "百元买百鸡"是一个基于Scratch的少儿编程项目,旨在通过游戏化学习的方式,让孩子们在解决实际问题的过程中了解编程的基本概念。 在这个项目中,"百元买百鸡"是一个经典的数学问题,通常被称为"鸡兔同笼"问题。...

    百钱买百鸡问题 c# 用windows 程序实现

    "百钱买百鸡"问题,也称为"鸡兔同笼"问题,是经典的数学问题之一,主要考察的是逻辑推理和方程组的解决能力。在这个问题中,我们需要使用有限的金额购买一定数量的鸡和兔子,鸡的价格是1元,兔子的价格是3元,而总...

    【无标题】百元买百鸡问题-java经典(csdn)————程序.pdf

    "百元买百鸡"问题就是一个这样的例子,它源自中国古代的数学问题,旨在通过编程解决。在这个问题中,我们需要用100元钱购买100只鸡,鸡分为三种:公鸡、母鸡和小鸡,它们的价格分别为5元、3元和1元。目标是找出所有...

    31-百元买百鸡.pptx

    在解决特定问题,如“百元买百鸡”这一经典数学问题时,Scratch成为了一个实用的工具。这道问题需要通过编程来寻找满足条件的鸡的种类组合。在Scratch中,可以通过设置变量、使用循环和条件判断等脚本来解决。例如,...

    百元百鸡arm汇编代码

    总结起来,解决“百元百鸡”问题在ARM汇编中涉及的知识点包括:ARM汇编语言的基本语法,ADS1.2开发环境的使用,寄存器的运用,循环和分支结构的实现,数据运算指令,以及可能的内存管理和输出机制。通过这个实例,...

    枚举法解决百元买百鸡PPT课件.pptx

    以“百元买百鸡”问题为例,这是一个经典的枚举法应用。在这个问题中,鸡分为三种类型:鸡翁(公鸡)、鸡母(母鸡)和鸡雏(小鸡),它们的价格分别为5元、3元和1元。目标是用100元钱买100只鸡。我们设鸡翁、鸡母和...

    用JAVA编程,百钱买百鸡

    ### 百钱买百鸡问题解析与JAVA程序实现 #### 一、问题描述 百鸡百钱问题,作为一道经典的数学应用题,在民间流传已久。题目背景为:假设市场上公鸡的价格是每只3元,母鸡的价格是每只5元,而小鸡则是3只1元。现在的...

    求百钱买百鸡 Java代码

    “百钱买百鸡”是一个经典的数学问题,源自中国古代数学名著《算经》,该问题的大意是:假设一个人有100元钱,需要用这些钱购买100只鸡,其中公鸡每只5元,母鸡每只3元,小鸡3只1元。问如何购买才能恰好用完100元,...

    c++ 百钱买鸡问题 百鸡问题

    为了实现这个算法,我们可以使用两个嵌套循环,一个循环遍历公鸡的数量,另一个循环遍历母鸡的数量,同时确保每次迭代的公鸡和母鸡数量之和不超过100。 在C++中,代码可能如下所示: ```cpp #include int main()...

    百钱买百鸡

    通过这样的编程实现,我们可以得到所有可能的购买方案,从而解决了"百钱买百鸡"的问题。这不仅锻炼了我们的编程技巧,也让我们理解了如何运用计算机解决问题,特别是在面对约束条件下的优化问题时。在实际开发中,...

    蛮力法求解百钱买百鸡的问题

    百钱买百鸡问题是一个经典的数学问题,假设公鸡价值5元,母鸡3元,小鸡1元,但3只小鸡合起来才1元。现在有100元,要买100只鸡,问如何分配公鸡、母鸡和小鸡的数量。 实验步骤: 1. 定义变量x、y和z分别代表公鸡、...

    scratch编程项目源代码文件案例素材-百元买百鸡.zip

    《百元买百鸡》是Scratch编程项目中的一个经典案例,主要针对少儿趣味编程教育,旨在通过游戏的形式,让孩子们学习和理解编程基础概念。Scratch是一款由麻省理工学院(MIT)媒体实验室“终身幼儿园团队”开发的图形...

    c语言枚举法(穷举法)ppt课件.ppt

    在本节课件中,我们使用枚举法来解决百元买百鸡问题。这是一个不定方程问题,三元一次方程组,x+y+z=100,5x+3y+z/3=100。我们可以使用三重循环来枚举所有可能的情况,并判断是否符合条件。 三、枚举法优化 在...

Global site tag (gtag.js) - Google Analytics