1189: 找零钱(python)

收藏

难度:一般

标签:暂无标签

题目描述

现在假设你是个店员,为了方便/准确/最优的找零钱,你设计了一个程序.该程序应该实现如下功能: 第一行输入客户所给你金额 第二行输入客户消费的总金额 第三行输出应找的总零钱是多少 第四行输出各种面额的张数(总金额之和要与第三行的数相等,并且要求货币总张数是最少的方案输出) 注:为了简单,假设上述中的金额都是整数,现规定金额的面值为100,50,20,10,5,1元.并且假定客户的金额总是大于所需支付的总金额. 数据类型有int整数表示.

输入
复制代码
多组数据,
第一行输入一个整数(表示客户所付的金额),如100
第二行输入一个整数(表示商品的总计金额),如25
输出
复制代码
第一行输出 应找的零钱,如75
第二行输出 金额面值1*张数1+金额面值2+张数2+....+金额面值N*张数N=零钱数。(面值较大的零钱优先排在前面,如50元比20元大,应排在前面)
样例输入复制
复制代码
100
25
95
2
样例输出复制
复制代码
75
50*1+20*1+5*1=75
93
50*1+20*2+1*3=93
复制代码
while True:
    try:

        res=[]
        pay=int(input())
        commodity_sum=int(input())
        recovered=pay-commodity_sum

        rest=recovered
        wushi=0
        ershi=0
        shi=0
        wu=0
        yi=0
        while recovered//50:
            wushi=wushi+1
            recovered=recovered-50

        while recovered//20:
            ershi=ershi+1
            recovered=recovered-20

        while recovered//10:
            shi=shi+1
            recovered=recovered-10
        while recovered//5:
            wu=wu+1
            recovered=recovered-5
        yi=recovered

        if wushi:
            res.append("50*"+str(wushi))
        if ershi:
            res.append("20*"+str(ershi))
        if shi:
            res.append("10*"+str(shi))
        if wu:
            res.append("5*"+str(wu))
        if yi:
            res.append("1*"+str(yi))
        result=""
        result="+".join(res)
        result=result+"="+str(rest)
        print(rest)
        print(result)
    except EOFError:
        break
相关推荐
趣知岛11 分钟前
2026最新Python零基础入门教程,从环境搭建到实战精通(附源码)
python·青少年编程
sali-tec19 分钟前
C# 基于OpenCv的视觉工作流-章60-点点距离
图像处理·人工智能·opencv·算法·计算机视觉
nlpming1 小时前
OpenCode Skills 文档
算法
无限进步_1 小时前
二叉搜索树完全解析:从概念到实现与应用场景
c语言·开发语言·数据结构·c++·算法·github·visual studio
努力努力再努力FFF1 小时前
别再乱学PS、Python了,普通大学生该看懂的技能趋势
开发语言·python
05候补工程师1 小时前
深度解构 ROS 2:如何手动调通 Nav2 A* 路径规划引擎
linux·人工智能·经验分享·算法·机器人
呆萌的代Ma1 小时前
docker内的n8n配置Code节点运行python代码
python·docker·容器
上弦月-编程1 小时前
【C语言逻辑题】谋杀案凶手是谁?——经典矛盾推理题详解
算法
天若有情6732 小时前
逆向玩家狂喜!用C++野生写法一键破解线性加密(不规范但巨好用)
开发语言·c++·算法
风筝在晴天搁浅2 小时前
剑指Offer 60.n个骰子的点数
算法