假设法解决鸡兔同笼问题
假设法是解决此类问题的核心。基本思路是先假设笼子里全部是其中的一种动物(如全是鸡),计算出假设情况下的总腿数,再与实际的总腿数进行对比。由于一只兔比一只鸡多 2 条腿,通过腿数之差除以 2,就能算出兔的只数。
兔子数 = (总脚数 - 总头数 × 2) ÷ (4 - 2)
怎么做:记住‘假鸡得兔,假兔得鸡’。即假设全是鸡,算出来的是兔子的数量。
容易错在:- 计算差量时单位不统一或找错对应关系。
- 得出结果后不带入原题进行头数和脚数的二次验证。
列表法与逻辑推理
列表法是按照固定顺序列出满足总头数的鸡兔组合,再计算每种组合的总脚数,找出同时符合题目条件的一组。总头数不变时,每把1只鸡换成1只兔,总脚数增加2;反过来换,总脚数减少2。也可先假设全是鸡,再用实际脚数与假设脚数的差推算兔数。
鸡数+兔数=总头数;鸡数×2+兔数×4=总脚数。假设全是鸡时,兔数=(实际总脚数-总头数×2)÷2。
怎么做:先确认题目给出的总头数和每种对象的属性;从一种对象为0开始,每次按固定顺序换1只并记录结果;计算并比较属性总量,找到符合条件的组合后,再核对总数量和属性总量。若试算总脚数偏少且当前至少有1只鸡,可把1只鸡换成1只兔;若偏多且当前至少有1只兔,则反向更换。
容易错在:- 列表时没有按固定顺序逐次更换,可能重复或漏掉组合。
- 总头数不变时,把一只鸡换成一只兔会使总脚数增加2;误认为只增加1条脚。
- 列表时只比较脚数,忘记同时检查鸡和兔的只数合计是否等于总头数。
- 假设全是鸡后,脚数差要除以每只兔比每只鸡多的2条脚;不要直接把脚数差当作兔数。