用两种程序解决百钱买百鸡问题

问题 【用两种程序解决百钱买百鸡问题】公鸡五块钱一只,母鸡三块钱一只,小鸡一块钱三只,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?总共有多少种方案?
思路 有题可得两个条件: 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))

运行结果 用两种程序解决百钱买百鸡问题
文章图片

结果还是一样的,而且第二种方案更简单更简便

    推荐阅读