PTA 硬币找钱问题
设有6 种不同面值的硬币,各硬币的面值分别为5 分,1 角,2 角,5 角,1 元,2元。现要用这些面值的硬币来购物。在购物中希望使用最少个数硬币。例如,1 次购物需要付款0.55 元,如果没有5 角的硬币,只好用2*2角+1*1角+1*5分 共4 枚硬币来付款。
对于给定的各种面值的硬币个数和付款金额,计算使用硬币个数最少的交易方案。
输入格式:
输入数据有若干组,第一行给出一个整数n表示输入数据的组数。
以下n行每一行有6 个整数和1个有2 位小数的实数。分别表示可以使用的各种面值的硬币个数和付款金额。
输出格式:
输出每组数据的最少硬币个数。如果不可能完成交易,则输出“impossible”。
输入样例:
2
2 4 2 2 1 0 0.95
2 4 2 0 1 0 0.55
输出样例:
4
4
思路:1)先考虑最大币值下手
2)最后的输出范围小于等于最小币值
#include<iostream>
using namespace std;int main()
{int a[6] = { 5,10,20,50,100,200 };//币值、化为整数处理int b[6];//存放对应硬币的个数int n;cin >> n;//输入n组测试数据while (n--) {int j;for (j = 0; j < 6; j++) {cin >> b[j];}double money;cin >> money;money = money * 100;int num = 0;for (j = 5; j >= 0; j--){if (money >= a[j] && b[j] > 0) {//从最大币值开始判断money = money - a[j];b[j]--;j++;//回去找最大币值num++;}}if (money<=a[0]) {//小于最小单位5分cout << num << endl;}else {cout << "impossible" << endl;}}return 0;
}
PTA 硬币找钱问题相关推荐
- 算法分析与设计:贪心算法实现最少硬币找钱问题(支付+找零共花费硬币数最少)
硬币找钱问题 Problem Description 设有六种不同面值的硬币,各硬币的面值分别为 5分,1角,2角,5角,1元,2元.现要用这些面值的硬币来购物和找钱.购物时可以使用的各面值的硬币个数 ...
- 算法设计与分析: 4-11 硬币找钱问题
4-11 硬币找钱问题 问题描述 设有 6 种不同面值的硬币,各硬币的面值分别为 5 分,1 角,2 角,5 角,1 元,2 元. 现要用这些面值的硬币来购物和找钱.购物时可以使用的各种面值的硬币个数 ...
- 硬币找钱问题,求所有可能解决方案数目,最少的钱币数目,每种钱币用多少张
[题目简介] 现存在一堆面值为 V1.V2.V3 - 个单位的硬币,一共有多少种找钱方法可以找出总值为 T 个单位的零钱?最少需要多少张钱币?在最少钱币数目找钱的条件下,每种钱币使用的次数是多少?假设 ...
- 7-7 硬币找钱问题 (10 分)(思路+详解+double类型数据的处理)Come baby!!!!!!!!!!!!!!!!!!!!
一:题目 设有6 种不同面值的硬币,各硬币的面值分别为5 分,1 角,2 角,5 角,1 元,2元.现要用这些面值的硬币来购物.在购物中希望使用最少个数硬币.例如,1 次购物需要付款0.55 元,如果 ...
- dp----最少硬币问题
最少硬币问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 设有n种不同面值的硬币, ...
- B - 最少硬币问题
B - 最少硬币问题 Description 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中.现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组Coins[1:n]中. 对任 ...
- 最少硬币问题(c语言实现)
1.1题目 算法实现题3-2 最少硬币问题 ★问题描述:设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中,现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组 Coins[l:n ...
- 最少硬币问题(最多背包问题)可以测试代码过程
最少硬币问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中 ...
- 最小硬币问题(多重背包and完全背包)
B-最小硬币问题 1.多重背包版 描述: 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中.现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组Coins[1:n]中. 对任意钱 ...
- 最少硬币问题(多重背包问题)
最少硬币问题 问题描述:设有n种不同面值的硬币,各硬币的面值存在于数组T[1:n]中.现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组Coins[1:n]中.对任意钱数0£m£2000 ...
最新文章
- 影像融合操作的几种途径
- 三星二级菜单_你知道三星 Galaxy 手机中的这个隐藏菜单吗?
- shell命令之---LVM文件系统
- 思科模拟器,计算机网络实验三之:静态路由配置
- HIT 2060 Fibonacci Problem Again
- 【Java从入门到头秃专栏 】(二) 注释 数据类型 变量 常量 关键字 标识符 运算符 输入输出
- iOS之instancetype
- Intel汇编语言程序设计学习笔记1
- java kafka 消费_java利用kafka生产消费消息
- Node单线程的特点
- Do you know? -- season 1
- Lwip协议详解(基于Lwip 2.1.0)-内存管理
- 使用postman下载附件
- WinCE6.0增加中文字库
- 130 个相见恨晚的超实用网站,一次性分享出来
- 加密算法学习(一、中、1)——传统加密算法(playfair密码)
- 大学计算机实验六文件管理与磁盘恢复,做“文件管理与磁盘恢复”实验完成以下实验报告表并提交...
- Android基础知识 — 1.3-ARM和Thumb指令详解1
- wordpress-主题商业中国总裁商业思维 培训商学院官网源码整站下载 培训商学院,教育培训官网 培训商学院整站资源
- 医学计算机模型现状,【盘点】计算机模型开发助力多种人类疾病的深入研究
热门文章
- python对excel操作简书_Python-Excel操作
- 软件架构师的“不归之路“——架构师的职责
- 带有资源混淆的打补丁过程
- PS——制作一寸照片、小二寸照片、二寸照片
- 解决win10系统飞秋不在线问题
- 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。
- Android人脸支付功能,android支付宝上刷脸支付的人脸识别技术
- 海马玩模拟器离线安装包下载方法
- 大学四年总结——找工作是真的难
- JS 利用CNZZ进行站长统计