百钱买百鸡,进一步提问:
我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
题目分析
如果用数学的方法解决百钱买百鸡问题,可将该问题抽象成方程式组。设公鸡x只,母鸡y只,小鸡z只,得到以下方程式组:
A:5x+3y+1/3z = 100
B:x+y+z = 100
C:0 <= x <= 100
D:0 <= y <= 100
E:0 <= z <= 100
如果用解方程的方式解这道题需要进行多次猜解,计算机的一个优势就是计算速度特别暴力并且无怨无悔,所以我们可以欺负她、蹂躏她!因此我们用穷举法的方式来解题,需要101^3次猜解,但对于计算机来说,小CASE!
代码清单:
#include int main()
{ int i, j, k;
printf("百元买百鸡的问题所有可能的解如下:
");
for( i=0; i <= 100; i++ )
for( j=0; j <= 100; j++ )
for( k=0; k <= 100; k++ )
{
if( 5*i+3*j+k/3==100 && k%3==0 && i+j+k==100 )
{
printf("公鸡 %2d 只,母鸡 %2d 只,小鸡 %2d 只
", i, j, k);
}
}
return 0;
}
运行结果:百元买百鸡的问题所有可能的解如下:
公鸡 0 只,母鸡 25 只,小鸡 75 只
公鸡 4 只,母鸡 18 只,小鸡 78 只
公鸡 8 只,母鸡 11 只,小鸡 81 只
公鸡 12 只,母鸡 4 只,小鸡 84 只
public class kehou {
public static void main(String[] args) {
for(int i=0;i<20;i++){
for(int j=0;j<33;j++){
for(int k=0;k<100;k++){
if(5*i+3*j+k/3==100&&i+j+k==100){
System.out.println("公鸡数有:"+i+" 母鸡数有:"+j+" 雏鸡数有:"+k);
}
}
}
}
}
}
算法如下:设公鸡=x 母鸡=y 小鸡=z
由题可知,公鸡数量是0到20的正整数,所以是数组{0,1,2,3...20}
小鸡数量z=100-x-y
根据金额的条件
5x+3y+1/3z=100
两边同时乘以3
15x+9y+z=300
带入小鸡数量z=100-x-y
15x+9y+(100-x-y)=300
整理公式
15x+9y+100-x-y=300
14x+8y+100=300
8y=300-14x-100
y=(200-14x)/8
依次带入数组x={0,1,2,3...20}
y的数值如果是正整数,则条件满足,结果成立
结果可以算出4个答案,如果你实际算算的话,可以发现用不了带入到20,带入不到一半的数据的时候,就可以发现,数值就变成负的了,所以之后的数值就不用带入了,这个公式即便总价钱和鸡的总数进行更改,也可同样运用。
至于为什么用公鸡数量这个数组,因为分析条件,公鸡的数量,是未知数当中,数组数字个数最少的一组,当然用最少的,可以减少运算次数。
解答完毕,谢谢,祝君愉快。
天啊.................
百钱买百鸡,进一步提问:
你的算法更麻烦,而且答案少了一个,公鸡0,母鸡25,小鸡75,因为题目没有说三种鸡都必须有。简单点可以用三元二次方程,配合条件方程式,加上数组带入方法算出,公鸡数量有20种可能,就只需要带入计算20次就可以了。算法如下:设公鸡=x 母鸡=y 小鸡=z 由题可知,公鸡数量是0到20的正整数,所...
百钱买百鸡,再提问
百钱最多只能买到公鸡 25只 ,母鸡 33只,小鸡 1200只 要买百只鸡,小鸡最多为12*8=96只,即花8个钱就能买到96只小鸡,但是剩下92个钱买4只鸡,绝对花不完。可以看出小鸡基本上不花钱了,所以钱基本上花在公鸡和母鸡上,由于公鸡最多买25只,母鸡最多买33只,故小鸡的数量应该在65到80之间 ...
求百元买百鸡的完整问题,附答案。谢谢
问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一,百钱买百鸡,问鸡翁、母、雏各几何 答案:鸡翁0只 鸡母25只 鸡雏75只 鸡翁4只 鸡母18只 鸡雏78只 鸡翁8只 鸡母11只 鸡雏81只 鸡翁12只 鸡母4只 鸡雏84只
百钱买百鸡问题。公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一...
在百钱买百鸡的问题中,我们探讨了一种解决方案:购买75只小鸡花费25元,购买15只母鸡花费45元,以及购买6只公鸡花费45元。这种组合恰好满足了预算和数量的要求。然而,这种解法是否是唯一解呢?我们可以通过数学方法进一步探究。设公鸡、母鸡和小鸡的数量分别为x、y和z。根据题意,可以列出以下两个方程...
求古代数学问题。
1、百鸡问题:今有鸡翁一,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。凡百钱买鸡百只,问鸡翁、母、鶵各几何?《张邱建算经》答曰:鸡翁四,值钱二十;鸡母十八,值钱五十四;鸡鶵七十八,值钱二十六;又答:鸡翁八,值钱四十;鸡母十一,值钱三十三,鸡鶵八十一,值钱二十七;又答:鸡翁十二,...
求百元买百鸡的完整问题,附答案。谢谢
翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?题目分析 如果用数学的方法解决百钱买百鸡问题,可将该问题抽象成方程式组。设公鸡x只,母鸡y只,小鸡z只,得到以下方程式组:A:5x+3y+1\/3z = 100 B:x+y+z =...
问一下百钱买百鸡~~~
100文钱买100只鸡,公鸡一只5文,母鸡一只3文,小鸡3只1文,那么能买多少只公鸡,多少只母鸡,多少只小鸡?这题答案是 公鸡12只,母鸡4只, 小鸡84只 .
古代数学趣题
1、百鸡问题:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。今百钱买鸡百只。问鸡翁,鸡母,鸡雏各几何;2、韩信点兵:韩信练兵,每三人一列,余一人;每五人一列,余二人;每七人一列,余四人;十三人一列,余六人。问多少士兵;3、李白买酒:李白街上走,提壶去买酒,遇店加...
公鸡一只5元,母鸡一只3元,三只小鸡一元,一百元钱买一百只鸡。问公鸡...
分析与解 因为100文钱,买100只鸡,所以平均1文钱买1只鸡。每小组4只鸡:其中1只母鸡和3只小鸡,共值4文钱。(因为1只母鸡3文钱,3只小鸡1文钱),恰好是平均1文钱买1只鸡。每大组7只鸡:其中1只公鸡和6只小鸡。共值7文钱。(因为1只公鸡5文钱,3只小鸡1文钱,6只小鸡2文钱),恰...
有100元钱买三种鸡,小鸡1元3只母鸡3元1只公鸡5元1只,一共卖100只鸡,请...
百钱买百鸡问题 我国古代数学家张丘建在《算经》中提出 列方程 (不定方程组)公鸡+母鸡+小鸡=100 5*公鸡+3*母鸡+小鸡\/3=100 答案:公鸡 母鸡 小鸡 0 25 75 4 18 78 8 11 81 12 4 84