思路解析:这个问题在数学上称为“百鸡问题”。设鸡翁、母、雏各x、y、z只,则
①
②
由②得z=100-x-y, ③
把三元一次方程组转化为二元一次不定方程。
③代入①,得5x+3y+
=100,
即7x+4y=100。 ④
求方程④的解,可由程序解之。
答案:x=1
y=1
WHILE x<=14
WHILE y<=25
IF 7*x+4*y=100 THEN
z=100-x-y
PRINT “鸡翁、母、雏的个数分别为:”;x,y,z
END IF
y=y+1
WEND
x=x+1
y=1
WEND
END
实际上,该题可以不对方程组进行化简,通过设置多重循环的方式得以实现。由①②可得x的最大值为20,y的最大值为33,z的最大值为100,且z为3的倍数。程序如下:
从x的最小值开始验证,循环进行。
由于7x+4y=100,且x、y∈Z,故x≤14,y≤25。
x=1
y=1
z=3
WHILE x<=20
WHILE y<=33
WHILE z<=100
IF 5*x+3*y+z/3=100 AND
x+y+z=100 THEN
PRINT “鸡翁、母、雏的个数分别为:”;x、y、z
END IF
z=z+3
WEND
y=y+1
z=3
WEND
x=x+1
y=1
WEND
END