问题 【用两种程序解决百钱买百鸡问题】公鸡五块钱一只,母鸡三块钱一只,小鸡一块钱三只,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?总共有多少种方案?
思路
有题可得两个条件: 1.公鸡X5 + 母鸡X3 + 小鸡/3 = 100
2.公鸡 + 母鸡 + 小鸡 =100
所以编写程序的时候需要满足这个两个条件
分析方案 只买公鸡,方案最多有二十种,只买母鸡方案最多有三十三种,只买小鸡方案最多有一百种,但是编写程序的时候因为含头不含尾,所以写程序的时候要多加一
编写程序
程序一、采用三重循环解决
count = 0
for cock in range(21):
for hen in range(35):
for chick in range(101):
if cock + hen + chick == 100 and cock * 5 + hen * 3 + chick / 3 == 100:
count = count + 1
print('公鸡:{}\t 母鸡:{}\t 小鸡:{}\t'.format(cock,hen,chick))
print('统计结果:百钱买百鸡总共有{}种方案。'.format(count))
运行结果
文章图片
程序二、采用双重循环解决 由于知道购买鸡的总数量,知道了公鸡和母鸡的数量,小鸡的数量也就自然而然的确定了,所以请看下面程序
count = 0
for cock in range(21):
for hen in range(35):
chick = 100 - cock - hen
if cock + hen + chick == 100:
count = count + 1
print('公鸡:{}\t 母鸡:{}\t 小鸡:{}\t'.format(cock,hen,chick))
print('统计结果:百钱买百鸡总共有{}种方案。'.format(count))
运行结果
文章图片
结果还是一样的,而且第二种方案更简单更简便
推荐阅读
- 有趣的猜字游戏
- 10x|10 x visum ST 预处理 python可视化
- Python图像处理|Python图像处理1(导入图像)
- java|pytorch贝叶斯网络_使用贝叶斯优化快速调试pytorch中的超参数的快速教程
- 如何利用Python随机从list中挑选一个元素
- python 包之 JSON 轻量数据操作教程
- 笔记|《Python程序设计与算法基础教程(第二版)》江红 余青松 课后选择题 课后填空题答案
- python|httprunner3,项目结构
- 基于Django的程序测试