当前位置:   article > 正文

硬币面值组合(C++)_本关任务:计算硬币组合的情况。 现在有1角、2角、5角硬币若干(可以认为数量无限),

本关任务:计算硬币组合的情况。 现在有1角、2角、5角硬币若干(可以认为数量无限),

硬币面值组合
总时间限制: 1000ms 内存限制: 65536kB
描述
使用1角、2角、5角硬币组成 n 角钱。
设1角、2角、5角的硬币各用了a、b、c个,列出所有可能的a, b, c组合。
输出顺序为:先按c的值从小到大,若c相同则按b的值从小到大。
输入
一个整数n(1 <= n <= 100),代表需要组成的钱的角数。
输出
输出有若干行,每行的形式为:
i a b c
第1列i代表当前行数(行数从001开始,固定3个字符宽度,宽度不足3的用0填充),后面3列a, b, c分别代表1角、2角、5角硬币的个数(每个数字固定12个字符宽度,宽度不足的在左边填充空格)。
样例输入

10

 样例输出

  1. 001 10 0 0
  2. 002 8 1 0
  3. 003 6 2 0
  4. 004 4 3 0
  5. 005 2 4 0
  6. 006 0 5 0
  7. 007 5 0 1
  8. 008 3 1 1
  9. 009 1 2 1
  10. 010 0 0 2

 代码

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. int n,cnt=0;
  6. cin>>n;
  7. for(int k=0;k<=n/5;k++)
  8. {
  9. for(int j=0;j<=n/2;j++)
  10. {
  11. for(int i=n;i>=0;i--)
  12. {
  13. if(i+j*2+k*5==n)
  14. printf("%03d%12d%12d%12d\n",++cnt,i,j,k);
  15. }
  16. }
  17. }
  18. return 0;
  19. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/215324
推荐阅读
相关标签
  

闽ICP备14008679号