栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

硬币面值组合(C++)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

硬币面值组合(C++)

硬币面值组合
总时间限制: 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

 样例输出

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

 代码

#include
using namespace std;
int main()
{
    int n,cnt=0;
    cin>>n;
    for(int k=0;k<=n/5;k++)
    {
        for(int j=0;j<=n/2;j++)
        {
            for(int i=n;i>=0;i--)
            {
                if(i+j*2+k*5==n)
                    printf("%03d%12d%12d%12dn",++cnt,i,j,k);
            } 
        }
    }
    return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1033837.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号