home1.gif


说明: 百钱百鸡是我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?翻译成现代文是:公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?

1. 分析/思路


  1. 穷举法/暴力搜索法

一个一个列举,从备选方案中找到符合需求的一组,见【实例 1】

2. 程序


【实例 1】穷举法解决百钱百鸡问题

  1. for x in range(0, 20):
  2. for y in range(0, 33):
  3. z = 100 - x - y
  4. if 5 * x + 3 * y + z / 3 == 100:
  5. print('公鸡 {} 只,母鸡 {} 只,小鸡 {} 只。'.format(x, y, z))

2. 扩展


  • 穷举法

穷举法,也称为暴力搜索法,这种方法通过一项一项的列举备选解决方案中所有可能的候选项并检查每个候选项是否符合问题的描述,最终得到问题的解。这种方法看起来比较笨拙,但对于运算能力非常强大的计算机来说,通常都是一个可行的甚至是不错的选择,而且问题的解如果存在,这种方法一定能够找到它。

end1.gif