学校为编程挑战赛准备了三种面额的代金券:3 元、5 元、7 元,每种面额的数量都足够多。
要用代金券恰好凑出 n 元(可以只用其中一种,也可以某一种一张都不用),请问一共有多少种不同的凑法?
两种凑法不同,指的是至少有一种面额的张数不同。
一行一个整数 n,表示要凑出的金额。
一行一个整数,表示不同的凑法数量。
10
2
7
1
1
0
两种凑法是 5 + 5、3 + 7。
只有 7 一张这一种。
1 \le n \le 500
枚举算法;枚举范围的确定;用取余判断"能否被整除"。
枚举 7 元和 5 元的张数,剩下的钱如果正好能被 3 整除,就是一种合法方案。注意枚举边界:7 * z <= n、7 * z + 5 * y <= n。