计算最大金额购买的最大单位

时间:2020-04-22 12:28:32

标签: javascript math

我正在编写代理以使采购流程自动化:

let perunitcost = 100;
let agentMaxQty = 60
let agentMaxTotal = 5000
let qtyToBePurchased = 0

这意味着代理商最多可以购买5000美元的产品,但最多只能购买50件产品;因此,在这种情况下,代理将以100(总计5000)的价格购买50个单位。

我可以通过添加for循环和蛮力来做到这一点。但是,他们是否有任何优化方法来做到这一点而又不会遍历所有可能性?

1 个答案:

答案 0 :(得分:1)

将可用资金总额除以每单位成本,将其下限以获取可购买的最大单位,并针对agentMaxQty取最小的

const perunitcost = 100;
const agentMaxQty = 60
const agentMaxTotal = 5000
const qtyToBePurchased = Math.min(
  Math.floor(agentMaxTotal / perunitcost),
  agentMaxQty
);
console.log(qtyToBePurchased);