设有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 硬币找钱问题相关推荐

  1. 算法分析与设计:贪心算法实现最少硬币找钱问题(支付+找零共花费硬币数最少)

    硬币找钱问题 Problem Description 设有六种不同面值的硬币,各硬币的面值分别为 5分,1角,2角,5角,1元,2元.现要用这些面值的硬币来购物和找钱.购物时可以使用的各面值的硬币个数 ...

  2. 算法设计与分析: 4-11 硬币找钱问题

    4-11 硬币找钱问题 问题描述 设有 6 种不同面值的硬币,各硬币的面值分别为 5 分,1 角,2 角,5 角,1 元,2 元. 现要用这些面值的硬币来购物和找钱.购物时可以使用的各种面值的硬币个数 ...

  3. 硬币找钱问题,求所有可能解决方案数目,最少的钱币数目,每种钱币用多少张

    [题目简介] 现存在一堆面值为 V1.V2.V3 - 个单位的硬币,一共有多少种找钱方法可以找出总值为 T 个单位的零钱?最少需要多少张钱币?在最少钱币数目找钱的条件下,每种钱币使用的次数是多少?假设 ...

  4. 7-7 硬币找钱问题 (10 分)(思路+详解+double类型数据的处理)Come baby!!!!!!!!!!!!!!!!!!!!

    一:题目 设有6 种不同面值的硬币,各硬币的面值分别为5 分,1 角,2 角,5 角,1 元,2元.现要用这些面值的硬币来购物.在购物中希望使用最少个数硬币.例如,1 次购物需要付款0.55 元,如果 ...

  5. dp----最少硬币问题

    最少硬币问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 设有n种不同面值的硬币, ...

  6. B - 最少硬币问题

    B - 最少硬币问题 Description 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中.现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组Coins[1:n]中. 对任 ...

  7. 最少硬币问题(c语言实现)

    1.1题目 算法实现题3-2 最少硬币问题 ★问题描述:设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中,现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组 Coins[l:n ...

  8. 最少硬币问题(最多背包问题)可以测试代码过程

    最少硬币问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中 ...

  9. 最小硬币问题(多重背包and完全背包)

    B-最小硬币问题 1.多重背包版 描述: 设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中.现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组Coins[1:n]中. 对任意钱 ...

  10. 最少硬币问题(多重背包问题)

    最少硬币问题 问题描述:设有n种不同面值的硬币,各硬币的面值存在于数组T[1:n]中.现要用这些面值的硬币来找钱.可以使用的各种面值的硬币个数存于数组Coins[1:n]中.对任意钱数0£m£2000 ...

最新文章

  1. 影像融合操作的几种途径
  2. 三星二级菜单_你知道三星 Galaxy 手机中的这个隐藏菜单吗?
  3. shell命令之---LVM文件系统
  4. 思科模拟器,计算机网络实验三之:静态路由配置
  5. HIT 2060 Fibonacci Problem Again
  6. 【Java从入门到头秃专栏 】(二) 注释 数据类型 变量 常量 关键字 标识符 运算符 输入输出
  7. iOS之instancetype
  8. Intel汇编语言程序设计学习笔记1
  9. java kafka 消费_java利用kafka生产消费消息
  10. Node单线程的特点
  11. Do you know? -- season 1
  12. Lwip协议详解(基于Lwip 2.1.0)-内存管理
  13. 使用postman下载附件
  14. WinCE6.0增加中文字库
  15. 130 个相见恨晚的超实用网站,一次性分享出来
  16. 加密算法学习(一、中、1)——传统加密算法(playfair密码)
  17. 大学计算机实验六文件管理与磁盘恢复,做“文件管理与磁盘恢复”实验完成以下实验报告表并提交...
  18. Android基础知识 — 1.3-ARM和Thumb指令详解1
  19. wordpress-主题商业中国总裁商业思维 培训商学院官网源码整站下载 培训商学院,教育培训官网 培训商学院整站资源
  20. 医学计算机模型现状,【盘点】计算机模型开发助力多种人类疾病的深入研究

热门文章

  1. python对excel操作简书_Python-Excel操作
  2. 软件架构师的“不归之路“——架构师的职责
  3. 带有资源混淆的打补丁过程
  4. PS——制作一寸照片、小二寸照片、二寸照片
  5. 解决win10系统飞秋不在线问题
  6. 编写一个能将给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95021。
  7. Android人脸支付功能,android支付宝上刷脸支付的人脸识别技术
  8. 海马玩模拟器离线安装包下载方法
  9. 大学四年总结——找工作是真的难
  10. JS 利用CNZZ进行站长统计