这个方法不错,很容易解出答案。对于只有两种动物的情形,肯定对。
但如果有三种动物就麻烦了。比如蜂鸟,蝴蝶,蜘蛛共30只,有脚共132只,请问蜂鸟,蝴蝶,蜘蛛各有多少只?你这里所说的办法肯定行不通。但如果用我说的三种办法除代数方法不能解,其余两种方法能解答这道题。电脑使用迭代法,加入只能取整数的条件,且必须三种动物都有,任何一种动物都不能为零,很容易就可以得到结果如下:
(蜂鸟,蝴蝶,蜘蛛)
是(13,15,2)
或(14,12,4)
或(15,9,6)
或(16,6,8)
或(17,3,10)
答案是以上5种结果之一,不可能有第六种答案。
***
***
数学证明如下:
我们设:
* 蜂鸟有 x 只(每只2只脚)
* 蝴蝶有 y 只(每只6只脚)
* 蜘蛛有 z 只(每只8只脚)
题目条件:
1. 总数量:x+y+z=30
2. 总脚数:2x+6y+8z=132
—
### 第一步:简化方程组
利用第一个方程 x+y+z=30,我们可以消去 x:
由此得 x=30−y−z
代入第二个方程:
2(30−y−z)+6y+8z=132
展开:
60−2y−2z+6y+8z=132
合并同类项:
60+4y+6z=132
4y+6z=72
两边同时除以2:
2y+3z=36 (★)
### 第二步:求解非负整数解
解方程组:
x+y+z=30
2y+3z=36
从 (★) 式中枚举合适的 z,使 2y=36−3z 为偶数且非负:
我们来枚举 z 的可能值(因为 z≥1,且 3z≤36):
z:2y=36−3z:y:x=30−y−z
|2:30:15:13|
|4:24:12:14|
|6:18:9:15|
|8:12:6:16|
|10:6:3:17|
解毕。