将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: 输入在一行中给出待换的零钱数额x∈(8,100)。
时间: 2023-06-05 22:47:42 浏览: 240
编写程序,输出用一元人民币兑换成1分、2分和5分硬币共有多少种兑换方法。
这道题是要将一笔零钱换成5分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
题目给出的输入格式是在一行中给出待换的零钱数x(8≤x≤100)。
解题思路:
- 先将一枚5分的硬币放到一边,考虑将剩下的金额用1分的硬币换成若干个零钱总和等于 (x-5) 分的方案数。可以用递归实现。
- 再加上一个5分硬币,将剩下的金额用1分硬币换成若干个零钱总和等于 (x-10) 分的方案数,再加上一个5分硬币对应的方案数,即为当前情况的总方案数。
- 重复上述过程,直到不再能放下5分硬币为止。
需要注意的是,在递归函数中需要判断当零钱数为0时,说明已经换完了,此时将方案数加1。
代码示例:
阅读全文