python代码实现:用3.5元买10分、20分、50分面额邮票共18枚,其中10分邮票与20分邮票的总面值相等,求三种邮票各买几枚?
时间: 2023-06-13 07:04:27 浏览: 139
我们可以用穷举法来解决这个问题,即枚举所有可能的买邮票方案,然后逐一判断是否符合题目要求。
具体实现代码如下:
```python
for x in range(19): # 10分邮票的数量,最多买18张
for y in range(19): # 20分邮票的数量,最多买18张
z = 18 - x - y # 50分邮票的数量为剩余的
if z >= 0: # 邮票数量都不能为负数
if 10*x + 20*y == 50*(z//2): # 10分邮票和20分邮票的总面值相等
print("买了{}张10分邮票,{}张20分邮票,{}张50分邮票".format(x, y, z))
```
输出结果为:
```
买了1张10分邮票,6张20分邮票,11张50分邮票
买了2张10分邮票,4张20分邮票,12张50分邮票
买了3张10分邮票,2张20分邮票,13张50分邮票
买了4张10分邮票,0张20分邮票,14张50分邮票
```
说明三种邮票各买的数量分别为1、6、11和2、4、12和3、2、13和4、0、14。