class Cage:
def __init__(self, total_number, total_legs):
self.total_number = total_number
self.total_legs = total_legs
def solve(self):
for chicken_number in range(self.total_number + 1):
rabbit_number = self.total_number - chicken_number
if 2 * chicken_number + 4 * rabbit_number == self.total_legs:
return chicken_number, rabbit_number
return None
# 使用示例
cage = Cage(10, 32)
solution = cage.solve()
if solution:
print("鸡的数量:", solution[0])
print("兔子的数量:", solution[1])
else:
print("无解")
在这个示例中,我们定义了一个Cage
类,它有两个实例属性:
total_number
表示鸡和兔子的总数量,total_legs
表示鸡和兔子的总腿数。
我们通过调用solve
方法来解决鸡兔同笼问题。
在solve
方法中,我们使用循环从0到总数量进行遍历,假设当前鸡的数量为chicken_number
,那么兔子的数量为rabbit_number
。
然后我们检查是否满足总腿数的条件,如果满足,则返回鸡和兔子的数量组成的元组;
如果没有找到解,返回None
表示无解。