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

问题

公鸡五块钱一只,母鸡三块钱一只,小鸡一块钱三只,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?总共有多少种方案?

思路

有题可得两个条件:

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))

运行结果

在这里插入图片描述
结果还是一样的,而且第二种方案更简单更简便

猜你喜欢

转载自blog.csdn.net/qq_62491692/article/details/121344068