function checkCashRegister(price, cash, cid) {
var m = (cash-price)*100;//转换成美分
var cv = [1, 5, 10, 25, 100, 500, 1000, 2000, 10000];
var cArr = [];//数量列表
var flag = true;
var moneyFlag = true;
for(var i=cv.length-1;i>=0;i--){
if(m<cv[i]){
cArr.push(0);
continue;
}
var n =parseInt(m/cv[i]);
if(n*cv[i] > cid[i][1]*100){
cArr.push(cid[i][1]*100/cv[i]);
m-= cid[i][1]*100;
if(i==0)
flag = false;
continue;
}
m = m%cv[i];
cArr.push(n);
if(n*cv[i] < cid[i][1]*100)
moneyFlag = false;
}
var res = [];
for(var i = cid.length-1;i>=0;i--) {
if(cArr[cid.length-1-i]>0){
var a = cid[i];
a[1] = cArr[cid.length-1-i]*cv[i]/100;
res.push(a);
} }
if(flag){
if(!moneyFlag)
return res;
else
return "Closed";
}else{
return "Insufficient Funds";
}
}
// Example cash-in-drawer array:
// [["PENNY", 1.01],
// ["NICKEL", 2.05],
// ["DIME", 3.10],
// ["QUARTER", 4.25],
// ["ONE", 90.00],
// ["FIVE", 55.00],
// ["TEN", 20.00],
// ["TWENTY", 60.00],
// ["ONE HUNDRED", 100.00]]
//checkCashRegister(19.50, 20.00, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.10], ["QUARTER", 4.25], ["ONE", 90.00], ["FIVE", 55.00], ["TEN", 20.00], ["TWENTY", 60.00], ["ONE HUNDRED", 100.00]]);
console.log(checkCashRegister(3.26, 100.00, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.10], ["QUARTER", 4.25], ["ONE", 90.00], ["FIVE", 55.00], ["TEN", 20.00], ["TWENTY", 60.00], ["ONE HUNDRED", 100.00]]));