收银程序
博客专区 > 万城 的博客 > 博客详情
收银程序
万城 发表于9个月前
收银程序
  • 发表于 9个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: Exact Change
function checkCashRegister(price, cash, cid) {
    var change;
    var a = 0;
    var b = [];
    var e = cash - price;
    var d = [0.01, 0.05, 0.10, 0.25, 1, 5, 10, 20, 100];
    for (var i in cid) {
        a += cid[i][1];
    }
    if ((cash - price) > a) {
        return 'Insufficient Funds';
    } else if ((cash - price) === a) {
        return 'Closed';
    }
    for (var i = d.length - 1; i >= 0; i--) {
        if (i === 0 && e <= cid[i][1]) {
            b.push([cid[i][0], Math.round(e * 100) / 100]);
            e = 0;
        } else if (e >= d[i] && e <= cid[i][1] && cid[i][1] > 0) {
            b.push([cid[i][0], Math.floor(e / d[i]) * d[i]]);
            e = e - Math.floor(e / d[i]) * d[i];
        } else if (e >= d[i] && e >= cid[i][1] && cid[i][1] > 0) {
            b.push(cid[i]);
            e = e - cid[i][1];
        }
        if (e === 0) {
            break;
        }
    }
    if (e !== 0) {
        return 'Insufficient Funds';
    }

    return b;
}
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]]);
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 45
码字总数 62136
×
万城
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: