**题目:**有1元,5元,10元,100元,500元的硬币各从c1枚, c5枚,c10枚,c50枚,c100枚, c500枚,现在要用这些硬币支付A元,
最少需要多少枚硬币
输入:第一行有六个数字,分别代表从小到大6种面值的硬币的个数:第二行为A
案例:
输入:3 2 1 3 0 2
620
输出:
6
cpp#include<stdio.h> int main() { int number[6]; int A, sum = 0; int coins[6] = {1,5,10,50,100,500}; for (int j = 0; j < 6; j++) { scanf_s("%d",&number[j]); } scanf_s("%d",&A); for (int i = 5; A > 0; i--) { if (A > coins[i]) { int temp = number[i], mix, x; x = A / coins[i]; mix = x > temp ? temp : x; sum += mix; A = A - mix * coins[i]; } } printf("%d\n", sum); return 0; }
C语言贪心算法——解硬币
吃鱼且猫2024-05-31 15:06
相关推荐
Clarence Liu7 分钟前
AI Agent开发(2) - 深入解析 A2A 协议与 Go 实战指南业精于勤_荒于稀23 分钟前
异常梳理aaaa黎雁·泠崖24 分钟前
Java面向对象:对象内存图+成员与局部变量sunfove31 分钟前
实战篇:用 Python 徒手实现模拟退火算法解决 TSP 问题jiunian_cn32 分钟前
【C++】IO流froginwe111 小时前
C 语言输入与输出详解_童年的回忆_1 小时前
【PHP】关于守护进程报错:SQLSTATE[HY000]: General error: 2006 MySQL server has gone away少林码僧2 小时前
2.30 传统行业预测神器:为什么GBDT系列算法在企业中最受欢迎CoderCodingNo2 小时前
【GESP】C++六级考试大纲知识点梳理, (7) 栈与队列