天下第一塘霍邱:百钱买百鸡的问题快!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 09:59:13
大鸡三钱,中鸡两钱,三小鸡一钱,一百钱买百鸡。大中小各多少?

大 中 小
5 32 63
10 24 66
15 16 69
20 8 72
编码:
#include<STDIO.H>
void main()
{
int cocks,hens,chicks;

for(cocks=1;cocks<50;cocks++)
for(hens=1;hens<50;hens++)
{ chicks=100-cocks-hens;
if (3*cocks+2*hens+chicks/3.0==100)
printf("\ncocks=%d,hens=%d,chicks=%d\n",cocks,hens,chicks);
}
}

列方程算吧...

解法一:

设大鸡只数X.中鸡Y.小鸡Z
3X+2Y+Z/3=100
X+y+z=100
另外再设一个整数参数k,就有:x=5k,y=40-8k,z=60+3k

因为鸡数x、y、z都只能是正数,所以满足这组式子的k值只能是1、2、3.4。分别用1、2、3.4去替代式子中的k,算出的答案

大鸡X=5 10 15 20
中鸡Y=32 24 16 8
小鸡Z=63 66 69 72

解法二:

根据方程:x+y+z=100,3x+2y+z/3=100化简得:

8x+5y=200

因为x,y必需是整数,根据上式把符合条件的数列表得:

x 5 10 15 20
y 32 24 16 8

再根据x+y+z=100求出z得

大鸡X=5 10 15 20
中鸡Y=32 24 16 8
小鸡Z=63 66 69 72