百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
分析:估计现在小学生都能手工推算这套题,只不过我们用计算机来推算,我们可以设公鸡为x,母鸡为y,小鸡为z,那么我们可以得出如下的不定方程,
x+y+z=100,
5x+3y+z/3=100,
下面再看看x,y,z的取值范围。
由于只有100文钱,则5x<100 => 0<x<20, 同理 0<y<33,那么z<300
好的,文字部分就到这里,接下来看看代码是怎么实现的:
# money = 100
# score = 0
# for g in range(1,21):#公鸡5文钱一只,撑死买20
# for m in range(1,34):#母鸡3文钱一只,撑死买33
# for x in range(1,301):#小鸡3只一文钱,撑死买300