码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 贪心算法——硬币找零2——python


    找零钱问题(难度系数为3)

    « 问题描述

    设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱,可以实用的各种面值的硬币个数不限。当只用硬币面值T[1],T[2],…,T[i]时,可找出钱数j的最少硬币个数记为C(i,j)。若只用这些硬币面值,找不出钱数j时,记C(i,j)=∞。

    «编程任务

    设计一个动态规划算法,对1≤j≤L,计算出所有的C( n,j )。算法中只允许实用一个长度为L的数组。用L和n作为变量来表示算法的计算时间复杂性

    «数据输入

    从屏幕输入数据。输入第1行中有1个正整数n(n<=13),表示有n种硬币可选。接下来的一行是每种硬币的面值。由用户输入待找钱数j。

    « 结果输出

     程序运行结束时,将计算出的所需最少硬币个数输出到屏幕。

    输入示例

    输出文件示例

    3

    1 2 5

    9

    3

    def get_min_coins(coin_combinations,amount_rem):
        coin_list = []
        
        sorted_coin_combinations = sorted(coin_combinations, reverse = True)   #将面值从大到小排序
        
        for coin_val in sorted_coin_combinations:
            coin_count = int(amount_rem/coin_val)     #计算每个面值的个数(换成零钱时)
            coin_list += [coin_val]*coin_count        #将零钱放入输出列表
            
            amount_rem -= coin_val * coin_count       #找零之后,剩下的钱
            if amount_rem <= 0:
                break
        if amount_rem != 0:
            print("无法找零!")
        else:
            return coin_list
            
    
    
    if __name__ == "__main__":
        n = (int)(input("请输入面值个数:"))
        coin_combinations = []
        for i in range(n):
            coin_combinations.append((int)(input("面值:")))
        money = (int)(input("需要找的零钱:"))
        print(get_min_coins(coin_combinations,money))
  • 相关阅读:
    小程序源码:首席省钱赚钱专家微信小程序源码下载,淘宝客 外卖侠 外卖cps 首席多多客 八合一小程序源码
    公积金贷款额度根据什么而定
    新人学习笔记之(注释和关键字)
    Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
    【数据结构与算法】之深入解析“长度为n的开心字符串中字典序第k小的字符串”的求解思路与算法示例
    开源治理的基本实践与指导原则
    vite => .env 文件配置和使用
    上周热点回顾(7.25-7.31)
    算法学习 | 深度优先搜索~一条道走到黑
    机器学习8线性回归法Linear Regression
  • 原文地址:https://blog.csdn.net/stationinthemind/article/details/128116646
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号