一、问题描述
- 一只公鸡值五钱;
- 一只母鸡值三钱;
- 三只小鸡值一钱;
- 现在要用百钱买百鸡;
- 请问公鸡、母鸡、小鸡各多少只?
二、问题分析
用百钱如果只买公鸡,最多可以买20只;
但题目要求买一百只,由此可知,所买公鸡的数量肯定在0-20之间;
同理,母鸡的数量在0~33之间;
此把公鸡、母鸡和小鸡的数量分别设为cock、hen、chicken,cock+hen+chicken=100;
因此百钱买百鸡问题就转化成解不定方程组cock + hen + chicken == 100和5xcock+3xhen+chicken/3=100的问题。
三、实战
1、代码
代码如下:
for cock in range(0, 20): for hen in range(0, 30): chicken = 100 - cock - hen if chicken % 3 == 0: if 5 * cock + 3 * hen + chicken / 3 == 100: print('公鸡{}只,母鸡{}只,小鸡{}只'.format(cock, hen, chicken))
2、运行结果
运行结果如下:
公鸡0只,母鸡25只,小鸡75只
公鸡4只,母鸡18只,小鸡78只
公鸡8只,母鸡11只,小鸡81只
公鸡12只,母鸡4只,小鸡84只