问题分析与解题思路
鸡兔同笼问题是经典的数学问题,可以通过多种方法解决:
方法一:数学公式法
设鸡有x只,兔有y只,根据题意可得:
x + y = n (头的总数)
2x + 4y = m (脚的总数)
通过解方程组可以得到:
x = (4n - m) / 2
y = n - x
方法二:穷举法
题目要求使用穷举法,所以我们需要遍历所有可能的鸡的数量,检查对应的脚的数量是否符合条件。
代码说明
变量名说明(均≤3字符)
变量名 含义解释
n 头的总数
m 脚的总数
x 鸡的数量
y 兔的数量
关键逻辑:
穷举范围:鸡的数量x从0到n,因为最多有n个头
计算兔的数量:y = n - x,因为头的总数是n
检查条件:鸡有2只脚,兔有4只脚,总脚数应该等于m
输出结果:找到符合条件的x和y后立即输出并退出程序
测试用例验证
输入#1:
35 94
输出:
23 12
验证:
23只鸡:23×2=46只脚
12只兔:12×4=48只脚
总脚数:46+48=94,符合输入
其他测试用例:
输入:
10 28
输出:
6 4
验证:
6×2 + 4×4 = 12 + 16 = 28
优化版本(数学公式法)
虽然题目要求穷举法,但数学公式法更高效,这里也提供作为参考:
公式推导:
由方程组:
x + y = n
2x + 4y = m
将第一个方程乘以4得:4x + 4y = 4n 减去第二个方程得:2x = 4n - m → x = (4n - m) / 2