永发信息网

百钱百鸡问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?”

答案:3  悬赏:40  手机版
解决时间 2021-05-20 10:04
  • 提问者网友:人傍凄凉立暮秋
  • 2021-05-19 13:05
百钱百鸡问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?”
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-05-19 13:48

设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:


5x+3y+z/3=100,x+y+z=100,



这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z的取值范围:


1)    x的取值范围为1~20


2)    y的取值范围为1~33


3)    z的取值范围为3~99,


对于这个问题我们可以用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。


x=0,y=25,z=75   



x =4;y =18;z =78


x =8;y =11;z =81


x =12;y =4;z =84

全部回答
  • 1楼网友:迟山
  • 2021-05-19 16:03

设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:

5x+3y+z/3=100①,x+y+z=100,②    ①*3-②,7x+4y=100解不定方程, x=(100-4y)/7=14-(2+4y)/7,

2+4y被7除尽,2+4y=7t,y=(7t-2)/4=2t-(t+2)/4,t=2, 6,  10,(3y<100),代入得x =4;y =18;z =78

x =8;y =11;z =81

x =12;y =4;z =84

,

  • 2楼网友:山君与见山
  • 2021-05-19 14:28
题目分析与算法设计 设鸡翁、鸡母、鸡雏的个数分别为x,y,z,题意给定共100钱要买百鸡,若全买公鸡最多买20只,显然x的值在0~20之间;同理,y的取值范围在0~33之间,可得到下面的不定方程: 5x+3y+z/3=100 x+y+z=100 所以此问题可归结为求这个不定方程的整数解。 由程序设计实现不定方程的求解与手工计算不同。在分析确定方程中未知数变化范围的前提下,可通过对未知数可变范围的穷举,验证方程在什么情况下成立,从而得到相应的解。 *程序说明与注释 #include<stdio.h> void main() { int x,y,z,j=0; printf("Folleing are possible plans to buy 100 fowls with 100 Yuan.\n"); for(x=0;x<=20;x++) for(y=0;y<=33;y++) { z=100-x-y; if(z%3==0&&5*x+3*y+z/3==100) printf("%2d:cock=%2d hen=%2d chicken=%2d\n",++j,x,y,z); } } *运行结果 Follwing are possible plans to buy 100 fowls with 100 Yuan. 1:cock=0 hen=25 chicken=75 2:cock=4 hen=18 chicken=78 3:cock=8 hen=11 chicken=81 4:cock=12 hen=4 chicken=84 *总是的进一步讨论 这类求解不定方程总理的实现,各层循环的控制变量直接与方程未知数有关,且采用对未知数的取值范上穷举和组合的方法来复盖可能得到的全部各组解。能否根据题意更合理的设置循环控制条件来减少这种穷举和组合的次数,提高程序的执行效率,请读者考虑
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯