C语言贪心算法——解硬币

**题目:**有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;
}
相关推荐
kkkkkkkkkk_Z5 小时前
学嵌入式和C语言编程数据结构|学习日记Day22:栈,二叉树,哈希存储
c语言·数据结构·学习
覆东流5 小时前
7.Java数组
java·开发语言·后端
Navigator_Z5 小时前
LeetCode //C - 1206. Design Skiplist
c语言·算法·leetcode
码行山野赴时序归途5 小时前
三道经典数组题:从暴力到最优的算法思维
c语言·开发语言·数据结构·算法·leetcode
lzhdim6 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
JavaPub-rodert6 小时前
王仕宇在 Go Context 如何解决协程泄漏与超时控制
开发语言·后端·golang·iphone·javapub·王仕宇
ly76897 小时前
JavaScript 从入门到进阶:核心语法、异步编程与工程化实践
开发语言·javascript·ecmascript
Navigator_Z7 小时前
LeetCode //C - 1209. Remove All Adjacent Duplicates in String II
c语言·算法·leetcode
落魄大学生之流水线上谋生计8 小时前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
for_ever_love__8 小时前
python基础语法学习: 闭包
开发语言·python·学习·闭包