刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

硬币面值组合
使用1角、2角、5角硬币组成 n 角钱。

设1角、2角、5角的硬币各用了a、b、c个,列出所有可能的a, b, c组合。

输出顺序为:先按c的值从小到大,若c相同则按b的值从小到大。
时间限制:1000
内存限制:65536
输入
一个整数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

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】本题是一道编程题,要求使用1角、2角、5角硬币组成n角钱,并列出所有可能的硬币组合。首先,我们可以确定5角硬币的个数c的取值范围,即0到n//5(因为最多用n//5个5角硬币)。然后,对于每个c,我们可以确定2角硬币的个数b的取值范围,即0到n//2-c*2(因为最多用n//2个2角硬币,且已经用了c个5角硬币)。最后,我们可以计算1角硬币的个数a,即a = n - 2*b - 5*c。在输出时,我们需要按照题目要求的格式输出,即先按c的值从小到大,若c相同则按b的值从小到大。输出的内容应该包括行号、1角、2角、5角硬币的个数,且每列应该占12个字符宽度,不足的部分应该用空格填充。需要注意的是,由于题目中没有明确限制硬币的个数不超过一定值,因此我们在计算硬币个数时应该加上一个限制条件,即a、b、c都应该小于等于100。以上代码实现了题目的要求,可以输出所有可能的硬币组合。
创作类型:
原创

本文链接:硬币面值组合 使用1角、2角、5角硬币组成 n 角钱。 设1角、2角、5角的硬币各用了a、b、c个,

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share