“百钱买百鸡”是一个经典的数学趣题,也是一道著名的整数方程问题,该问题导致三元不定方程组,其重要之处在于开创“一问多答”的先例,最早见于《张丘建算经》(约公元5世纪),这是一部中国古代数学著作,主要讲述了算术和代数问题。该问题是其中一个经典的整数方程问题,后来在《算经十书》(中国古代数学教材)中被广泛传播。本文将详细介绍该问题的背景、数学解法,并提供 Python、Java 和 C++ 三种编程语言的实现代码。
原文出处
《张丘建算经·卷上·杂术》中的原文如下:
今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱,买鸡百只,问鸡翁、母、雏几何?
现代汉语翻译:
现在有 100 文钱,要买 100 只鸡。已知:
- 公鸡 5 文钱 1 只
- 母鸡 3 文钱 1 只
- 小鸡 1 文钱可以买 3 只
问:如何合理分配公鸡、母鸡、小鸡的数量,使得花费正好 100 文,且总数正好 100 只?
一、问题描述
题目:
用 100 文钱买 100 只鸡,已知:
- 公鸡:5 文钱 1 只
- 母鸡:3 文钱 1 只
- 小鸡:1 文钱买 3 只(即 1 只小鸡
文钱)
求公鸡、母鸡和小鸡的合理购买方案,使得总花费正好为 100