赞
踩
硬币面值组合
总时间限制: 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<bits/stdc++.h>
- 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%12d\n",++cnt,i,j,k);
- }
- }
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。