所以我一直在尝试用 Javascript/jQuery 创建一个程序,将一定数量的钱分成最小数量的美元钞票。到目前为止,该计划仅适用于一项法案,我不太确定如何实施其余法案,需要在正确的方向上推动。
var bills = [5, 10, 20, 50, 100];
while(money > 0){ // Keep deviding
for(var i=0; i < bills.length; i++){
if(money < bills[i])
return "You need a $" + bills[i] + " bill to pay for your item.";
}
}
如果我运行这个money = 89;
它将返回 100,因为这是可以支付 89 美元的最接近的账单,但我希望它返回 50 + 20 + 20,因此它可以与money = *anything*
.
编辑:评论后我现在已经走到了这里:
while(money > 0){ // Keep deviding
for(var i=bills.length-1; i >= 0; i--){
if(money > bills[i] || i == 0){
stringToReturn += " + $" + bills[i];
money -= bills[i];
break;
}
}
}
var bills = [5, 10, 20, 50, 100];
var money = mod(89);
function mod(num){
if (num % 5 === 0){
return num;
}else{
return num + 5 - num % 5
}
}
function foo(num){
var index = bills.length - 1;
var splits = [];
while (money >= bills[0]){
if (money >= bills[index]){
money -= bills[index];
splits.push(bills[index]);
}else{
index--;
}
}
return splits;
}
console.log(foo(money));
edited jsfiddle
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)