尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

c语言的纸币找零问题

c语言的纸币找零问题 纸币面额100、50、20、10、5、1 元。输入一个整数金额输出每种纸币需要多少张贪心尽量张数最少。算法步骤定义面额列表并降序排列将纸币面额按从大到小的顺序排列如 [100, 50, 20, 10, 5, 1] 元。初始化结果字典创建一个空字典用于存储每种面额对应的张数。遍历面额计算张数对于每个面额计算当前剩余金额可以兑换的最大张数使用整数除法并将该面额和张数存入结果字典。更新剩余金额从剩余金额中减去已兑换的金额面额 × 张数。重复步骤3-4继续处理下一个面额直到所有面额都处理完毕或剩余金额为0。输出结果返回结果字典包含每种面额需要的张数。图1贪心算法流程图这张流程图展示了贪心算法的完整执行过程从输入金额开始按面额从大到小依次计算每种纸币的张数更新剩余金额直到所有面额处理完毕最后输出结果。运行后结果图2程序运行结果这是程序运行后的输出结果展示了输入金额为 376 元时按照贪心算法计算出的每种面额纸币张数100元3张、50元1张、20元1张、5元1张、1元1张总计7张纸币总结贪心算法是需要有排序的列如(100,50,20,10,5,1)是有序数组降序,如果遇到乱序的话就需要用到冒泡排序或qsort的自定义int返回值的函数的无类型指针参数来排序总之就是满足贪心的性质就可以用到
返回列表