问题描述
在我国古典的数学著作<<算经>>中,有这么一道有趣的数学问题:公鸡一只5块钱,母鸡一只三块钱,小鸡三只一块钱.现在需要用一百块钱买一百只鸡,问该需要买多少只公鸡,多少只母鸡,多少只小鸡?
题目分析
先考虑极端条件:
1.如果全部是公鸡的话,最多可以买100/5=20只,不满足鸡的数量要达到100只,舍弃!
2.如果全部买母鸡.最多100/3只,不能整除,所以不可能全部买母鸡,舍弃!
3.如果全部买小鸡,可以买300只,但是这不满足题干要求的鸡的数量要为100只,所以不再考虑范围内!
以上三种极端条件均不成立!所以不可能只单独买一种!
鸡的数目要求:
i+j+k==100
鸡的价格要求:
i*5+j*3+k/3==100
3只小鸡一块钱,等价于一只小鸡1/3块钱
源代码
#//表示只保留商数,不保留余数,因为不可能去买半只鸡的情况
#实际上就是i,j,k三个参数的循环嵌套.不满足情况数值就增加1
for iin range(100//5 +1):
for jin range(100//3 +1):
for kin range(100 +1):
#题干条件
if i + j +k ==100 and i*5+j*3+k/3==100:
#满足提干条件则输出
print("公鸡:%s,母鸡%s,小鸡:%s"%(i,j,k))
运行结果:
公鸡:0,母鸡25,小鸡:75
公鸡:4,母鸡18,小鸡:78
公鸡:8,母鸡11,小鸡:81
公鸡:12,母鸡4,小鸡:84
可以看出复杂的数学问题,用python函数可以得以解决!也体现了我国古代数学发展的辉煌!
网友评论