【100个python算法超详细讲解】@谷哥技术

1.问题描述
我们寄信都要贴邮票,在邮局有一些小面值的邮票,通过这些小
面值邮票中的一张或几张的组合,可以满足不同邮件的不同邮资。现
在,邮局有4种不同面值的邮票,在每个信封上最多能贴5张邮票,面
值可以相同也可以不同,但至少要贴3种不同面值的邮票,要求编程求
出用这4种面值所能组成的邮资的最大值。
2.问题分析
输入:4种邮票的面值,存入数组stamp[4]。
输出:用这4种面值组成的邮资最大值。
按题目的要求,a、b、c、d面值的邮票均可以取0、1、2、3张,
但总共5张。为求出组合的最大邮资,我们可以对输入的4种面值邮票
进行排序,求出邮票面值的大小,存放到有序数组stamp[4]中。由于
至少要贴3种不同的邮票,最多贴5张,我们可以按照面值最大的贴3
张、面值第二大的贴1张、面值第三大的贴1张来求出最大的邮资。公
式为:
Sum=最大面值×3+第二大面值×1+第三大面值×1
3.完整的程序
根据上面的分析,编写程序如下:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @author : liuhefei
# @desc: 邮票组合
if __name__=="__main__":
a, b, c, d = map(int, input("请输入4种邮票的面值,以空格分割: \n").split())
stamp = [0]*4 # 存放4种邮票的面值
stamp[0] = a
stamp[1] = b
stamp[2] = c
stamp[3] = d
你输入的 种邮票面值为
print("你输入的4种邮票面值为:" )
print(stamp)
# 对邮票面值排序,最大面值为stamp[3],第二大
面值为stamp[2],第三大面值为stamp[1]
stamp.sort()
sum = stamp[3]*3 + stamp[2]*1 + stamp[1]*1
print("组合后的最大邮资为:%d" %sum)

4.运行结果
在PyCharm下运行程序,结果如图8.12所示。

100个python算法超详细讲解:邮票组合相关推荐

  1. 100个python算法超详细讲解:搬山游戏

    [100个python算法超详细讲解]@谷歌学术 1.问题描述 设有n座山,计算机与人作为比赛的双方,轮流搬山.规定每次搬 山数不能超过k座,谁搬最后一座谁输.游戏开始时,计算机请人输入 山的总数n和 ...

  2. 100个python算法超详细讲解:平分7筐鱼

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 2.乙.丙三位渔夫出海打鱼,他们随船带了21只箩筐.当晚返航时, 他们发现有7筐装满了鱼,还有7筐装了半筐鱼,另外7筐是空的,由于他们 ...

  3. 100个python算法超详细讲解:递归解决年龄问题

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁.问 第4个人多少岁,他说比第3个人大2岁.问第3人多少岁,他说比第2个 人大2 ...

  4. 100个python算法超详细讲解:谁是窃贼

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 警察审问4名窃贼嫌疑犯.现在已知,这4人当中仅有一名是窃 贼,还知道这4个人中的每个人要么是诚实的,要么总是说谎. 下面是这4个人给警察 ...

  5. 100个python算法超详细讲解:抢30游戏

    [100个python算法超详细讲解]@谷歌学术 1.问题描述 由两个人玩"抢30"游戏,游戏规则是:第一个人先说"1"或"1,2",第 二 ...

  6. 100个python算法超详细讲解:卡布列克常数

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 对于任意一个4位数n,进行如下的运算: 1)将组成该4位数的4个数字由大到小排列,形成由这4个数字构 成的最大的4位数. 2)将组成该4 ...

  7. 100个python算法超详细讲解:孪生素数

    [100个python算法超详细讲解@谷哥技术] 1.问题描述 本节要研究孪生素数的问题,先来看看什么是孪生素数. 所谓孪生素数指的是间隔为2的两个相邻素数,因为它们之间的距离已经 近得不能再近了,如 ...

  8. 100个python算法超详细讲解:狼追兔子

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 一只兔子躲进了10个环形分布的洞中的某一个.狼在第一个洞中 没有找到兔子,就隔一个洞,到第三个洞中去找:如果没有找到,就 隔两个洞,到第 ...

  9. 100个python算法超详细讲解:猴子吃桃

    [100个python算法超详细讲解]@谷哥技术 1.问题描述 一个猴子摘了一些桃子,它第一天吃掉了其中的一半然后再多吃了 一个,第二天照此方法又吃掉了剩下桃子的一半加一个,以后每天如 此,直到第十天 ...

最新文章

  1. 2020年人工神经网络第二次作业-参考答案第五题
  2. 机器人雅可比矩阵的求法_构造法
  3. boost::units模块单位/数量操作和转换的测试程序
  4. SAP ABAP实用技巧介绍系列之 获得webservice的schema node
  5. 【jquery系列|Jquery总结篇】包含各种实例,文末有彩蛋!
  6. 第 6-3 课:SpringBoot 核心 + 面试题
  7. php替换算法,PHP实现各种经典算法 || 我们的爱的博客
  8. Atlas 配置高可用
  9. 【解决方案】jquery live的change事件在IE下失效
  10. VB连接SQL SERVER实例
  11. 解决macOS idea启动web服务dock回自动打开Java图标
  12. word安全模式解除
  13. 苹果手机微信语音没声音怎么回事_手机微信语音能发出但没声音咋回事
  14. mysql 公历变农历_经过完整测试的农历-公历相互转换
  15. 孩子的同学写的:《恋秋 忆秋 叹秋》
  16. delphi JSON用法
  17. guitar pro8吉他谱软件好用吗?2023GTP全新功能解析
  18. 高斯羽烟gis应用java实现模型计算
  19. Java实现 LeetCode 472 连接词
  20. c# 获取微秒_c# 获取当前时间的微秒

热门文章

  1. ACM-ICPC 2018 南京赛区网络预赛 - AC Challenge(状压DP)
  2. 软件著作权提交源代bai码格式_软件著作权提交源代码格式要求
  3. 语法分析实验ll算法c语言,实验5-LL语法分析程序的设计与实现(C语言)
  4. 计算机读博ccfc有用吗,考研复试面试用细节赢得导师认可
  5. javascript实现gb2312编码解码
  6. java习题4_6水仙花数是指其个位、十位和百位三个数字的立方和等于这个三位数本身,求出所有的水仙花数。
  7. SNDlib【传统网络数据库】
  8. 数据库中触发器的作用,规则和限制
  9. 2021华为Android面试真题解析Android面试题集锦,一文轻松搞定
  10. 计算机应用基本技能试题,计算机应用基本技能.doc