编写一个解决鸡图同笼问题的程序
时间: 2024-09-25 15:04:34 浏览: 30
鸡兔共有只脚共有只问鸡兔各有多少?-谭浩强 c++ 教材 PPT
鸡兔同笼问题是古老的数学趣题,通常涉及一只鸡头上有两个单位的头,四条腿;一只兔子头上有三个单位的头,四条腿。给定一些头和腿的总数,目标是确定鸡和兔子各有多少。编写一个程序来解决这个问题,你可以采用一种代数方法:
```python
def solve_chicken_rabbit(total_heads, total_legs):
# 设鸡的数量为x,兔子的数量为y
# 根据头和腿的关系建立方程:
# x + y = total_heads (头的总数)
# 2x + 4y = total_legs (腿的总数)
# 解这个线性系统
from sympy import symbols, Eq, solve
x, y = symbols('x y')
eq1 = Eq(x + y, total_heads)
eq2 = Eq(2*x + 4*y, total_legs)
solutions = solve((eq1, eq2), (x, y))
if len(solutions) == 0:
return "无解"
else:
chicken_count = solutions[x]
rabbit_count = solutions[y]
return f"鸡有 {chicken_count} 只,兔子有 {rabbit_count} 只"
# 示例
total_heads = 8
total_legs = 22
solution = solve_chicken_rabbit(total_heads, total_legs)
print(solution)
```
运行这个程序并提供头和腿的具体数值,它会返回相应的鸡和兔子的数量。如果输入的数据导致无解的情况,函数将返回提示。
阅读全文