编写一个函数用于实现金额组合:面额分别有1元、2元、5元的纸币共计N张,现需要付出M元,统计共有几种付法。N、M是用户输入的值。(有10张纸币,面额分别是1元、2元、5元,现需要付出18元,通过编程统计出共有几种付法。)
思考:JS中for循环嵌套有什么特点?
参考代码:
方案1:
/* 设1元a张,2元b张,5元c张
*/
function f(N, M) {
var arr = [];
for (var a = 0; a <= N; a++) {
for (var b = 0; b <= N; b++) {
for (var c = 0; c <= N; c++) {
if (a + 2 * b + 5 * c == M && a + b + c == N) {
arr.push(a + ',' + b + ',' + c);
};
}
}
}
if (arr.length == 0) {
console.log("无解");
} else {
console.log(a