【题目链接】

OpenJudge NOI 2.1 7621:硬币面值组合

【题目考点】

1. 枚举

2. 输出数字,0占位

在m个字符位置中输出数字n,右对齐,其余部分由0占位:
printf("%0md", n);
cout << setfill('0') << setw(m) << n;

【解题思路】

  • 枚举对象:a, b, c
  • 枚举范围:
    a:1角硬币最少0个,最多有n个。
    b:2角硬币最少0个,最多有n/2个。
    c:5角硬币最少0个,最多有n/5个。
  • 判断条件: a + 2 b + 5 c = n a+2b+5c = n a+2b+5c=n

根据题目要求,先让c从小到大遍历,再让b从小到大遍历,最后看a。

【题解代码】

解法1:枚举 三重循环 scanf/printf

#include<bits/stdc++.h>
using namespace std;
int main()
{int a, b, c, n, k = 1;//k:编号 scanf("%d", &n);for(c = 0; c <= n/5; ++c)for(b = 0; b <= n/2; ++b)for(a = 0; a <= n; ++a){if(a+2*b+5*c == n)printf("%03d%12d%12d%12d\n", k++, a, b, c);}return 0;
}

解法2:枚举 双重循环 cin/cout

#include<bits/stdc++.h>
using namespace std;
int main()
{int a, b, c, n, k = 1;//k:编号 cin >> n;for(c = 0; c <= n/5; ++c)for(b = 0; b <= (n-c*5)/2; ++b)//去掉5角占用的钱数,剩下n-c*5{a = n-b*2-c*5;//去掉5角,2角占用的钱数,剩下的钱数就是1角的个数。此处求出的a一定大于等于0cout << setfill('0') << setw(3) << k++ << setfill(' ') << setw(12) << a << setw(12) << b << setw(12) << c << endl;}return 0;
}

OpenJudge NOI 2.1 7621:硬币面值组合相关推荐

  1. 7621:硬币面值组合

    描述 使用1角.2角.5角硬币组成 n 角钱. 设1角.2角.5角的硬币各用了a.b.c个,列出所有可能的a, b, c组合. 输出顺序为:先按c的值从小到大,若c相同则按b的值从小到大. 输入 一个 ...

  2. 硬币面值组合(C++)

    硬币面值组合 总时间限制: 1000ms 内存限制: 65536kB 描述 使用1角.2角.5角硬币组成 n 角钱. 设1角.2角.5角的硬币各用了a.b.c个,列出所有可能的a, b, c组合. 输 ...

  3. 硬币兑换python 每个面值有多个_【算法27】硬币面值组合问题

    问题描述 假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n.例如n=200,那么一种可能的组合方式为 200 = 3 * 1 + 1*2 ...

  4. 动态规划之硬币面值组合问题

    原文链接:http://www.cnblogs.com/python27/archive/2013/09/05/3303721.html 问题描述 假设我们有8种不同面值的硬币{1,2,5,10,20 ...

  5. 硬币面值组合问题(完全背包问题)

    参考:http://www.cnblogs.com/python27/archive/2013/09/05/3303721.html i表示只用前i种硬币,sum表示要组合出的面值 下图是当有面值为1 ...

  6. 硬币面值组合(上台阶)

    假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n.问总过有多少种可能的组合方式? 类似的题目还有: [华为面试题] 1分2分5分的硬币三 ...

  7. python硬币面值组合_【算法27】硬币面值组合问题

    问题描述 假设我们有8种不同面值的硬币{1,2,5,10,20,50,100,200},用这些硬币组合够成一个给定的数值n.例如n=200,那么一种可能的组合方式为 200 = 3 * 1 + 1*2 ...

  8. 硬币面值组合(C++)(枚举)

    总时间限制: 1000ms 内存限制: 65536kB  描述  使用1角.2角.5角硬币组成 n 角钱.  设1角.2角.5角的硬币各用了a.b.c个,列出所有可能的a, b, c组合.  输出顺序 ...

  9. 硬币面值组合的算法题解

    方法一 转自http://www.cnblogs.com/python27/archive/2013/09/05/3303721.html 动态规划的方法,是将m*n(m表示硬币的种类,n表示所要组成 ...

最新文章

  1. 手把手教线性回归分析(附R语言实例)
  2. 防止一个进程被多次启动
  3. liunx 安装 zookeeper(转)
  4. 60行代码俄罗斯方块
  5. Docker 学习总结(71)—— Docker、Docker Compose、Docker Swarm 之间的区别
  6. 民熙科技发布货物资产数字化系统“识物链”2.0版本
  7. Eclipse启动tomcat项目乱码而终端启动tomcat正常的解决办法
  8. jQuery动态星级评分效果实现方法
  9. Spring动态代理实现
  10. vue3关闭语法错误提示
  11. python下拉框二级联动_Excel数据规范输入技巧 | 二级联动下拉菜单
  12. 英语口语175之每日十句口语
  13. CSS实现鼠标经过网页图标弹出微信二维码
  14. 理解什么是接口测试?怎样做接口测试?
  15. 全球前10大数据库产品厂家
  16. java并行流 阻塞主线程_记一次使用Java8并行流导致的服务瓶颈问题排查
  17. AVProVideo插件踩坑:视频重现时停止+视频尺寸
  18. GeoGebra笔记3:函数绘图区基本设置(x,y轴范围……)
  19. CNN卷积神经网络—LeNet原理以及tensorflow实现mnist手写体训练
  20. 大数据专业考研书_大数据考研-可以考的专业

热门文章

  1. 命名管道的数据通信代码
  2. 在linux后台运行脚本的方法和命令
  3. beeline连接hive的两种方式
  4. python marshal loads failed_Python模块学习:marshal 对象的序列化
  5. 程序员白piao服务器。大派送
  6. K-means 算法(基本用法)
  7. 化工机械基础试题及答案
  8. 全国计算机四级之网络工程师知识点(五)
  9. HDUOJ 2955 Robberies
  10. 关于汇编ARM指令DCD