Algorithm 从总成本计算投标价格

Algorithm 从总成本计算投标价格,algorithm,math,Algorithm,Math,我必须解决以下问题。我必须从总价中计算出投标价格。例如,客户希望支付2000美元作为总价,但在此价格中,会增加成本: -使用价格为投标价格的10%,最低10美元,最高50美元$ -卖方价格:投标价格的2% -附加价格:1至500美元之间的出价为5美元 在501到1000之间出价10美元 在1001到3000之间出价15美元 出价超过3000美元20美元$ -储存费用:100$ 举例来说,根据所有这些,我必须计算出总共2000美元的投标价格。我不知道该怎么做。有人能给我一些提示或是关于算法应该是什

我必须解决以下问题。我必须从总价中计算出投标价格。例如,客户希望支付2000美元作为总价,但在此价格中,会增加成本:

-使用价格为投标价格的10%,最低10美元,最高50美元$

-卖方价格:投标价格的2%

-附加价格:1至500美元之间的出价为5美元 在501到1000之间出价10美元 在1001到3000之间出价15美元 出价超过3000美元20美元$

-储存费用:100$

举例来说,根据所有这些,我必须计算出总共2000美元的投标价格。我不知道该怎么做。有人能给我一些提示或是关于算法应该是什么的答案吗


编辑:好的,我知道了如何计算代数,现在我陷入困境的是如何用代码或伪代码编写算法。有人得到提示吗?

您可以将所有这些成本表示为投标价格的函数。生成一个巨大的方程,该方程是所有这些函数的总和,并求解特定的最终值,例如:

usage cost(bid) = PIN(bid*0.10, 10, 50)
seller cost(bid) = bid*.02
added cost(bid) = PIN(ceiling(bid/500)*5, 5, 10) + PIN(ceiling((bid - 1000)/2000)*5, 0, 10)
storing cost(bid) = 100
因此,最终成本如下所示:

final cost(bid) = PIN(bid*.1, 10, 50) + pin(ceiling(bid/500)*5, 5, 20) + PIN(ceiling((bid - 1000)/2000)*10, 0, 20) + bid*.02 + 100 + bid
求解一个特定的值,就完成了

例如,如果希望总成本为2000美元:

2000 = PIN(bid*.1, 10, 50) + pin(ceiling(bid/500)*5, 5, 10) + PIN(ceiling((bid - 1000)/2000)*5, 0, 10) + bid*.02 + 100 + bid.
出价必须至少大于1500且小于2000,这很好,因为我们可以使这些销截面保持不变:

2000 = 50 + 10 + 5 + 100 + bid*1.02
1835 = bid*1.02
bid = 1799.0196078431372549019607843137

PIN表达式是最难计算的,因此您可能需要猜测几次,直到得到缩小您要计算的出价范围的东西。

您可以将所有这些成本表示为出价的函数。生成一个巨大的方程,该方程是所有这些函数的总和,并求解特定的最终值,例如:

usage cost(bid) = PIN(bid*0.10, 10, 50)
seller cost(bid) = bid*.02
added cost(bid) = PIN(ceiling(bid/500)*5, 5, 10) + PIN(ceiling((bid - 1000)/2000)*5, 0, 10)
storing cost(bid) = 100
因此,最终成本如下所示:

final cost(bid) = PIN(bid*.1, 10, 50) + pin(ceiling(bid/500)*5, 5, 20) + PIN(ceiling((bid - 1000)/2000)*10, 0, 20) + bid*.02 + 100 + bid
求解一个特定的值,就完成了

例如,如果希望总成本为2000美元:

2000 = PIN(bid*.1, 10, 50) + pin(ceiling(bid/500)*5, 5, 10) + PIN(ceiling((bid - 1000)/2000)*5, 0, 10) + bid*.02 + 100 + bid.
出价必须至少大于1500且小于2000,这很好,因为我们可以使这些销截面保持不变:

2000 = 50 + 10 + 5 + 100 + bid*1.02
1835 = bid*1.02
bid = 1799.0196078431372549019607843137

PIN表达式是最难计算的,因此您可能需要猜测几次,直到您得到缩小您想要计算的出价范围的东西。

如果我理解正确,我认为您不理解我P首先,我没有出价。我只有总价,我要计算的是投标价。如果我错了,请纠正我。谢谢你的回答!正确的。考虑到最终成本(bid)是某个已知值,您需要为bid求解。你给出了2000年作为最终成本的例子,因此你可以从中倒转来确定出价。我将添加你的具体例子,以更好地解释该怎么做。非常感谢你给出了清晰的答案,但PIN到底是什么?抱歉,英语不是我的第一语言。它接受值,使其至少与第二个参数一样大,最多与第三个参数一样大。也就是说,pin(x,0,1)将返回与x最接近的大于0小于1的数字。如果我理解正确,我认为你没有理解我P首先,我没有出价。我只有总价,我要计算的是投标价。如果我错了,请纠正我。谢谢你的回答!正确的。考虑到最终成本(bid)是某个已知值,您需要为bid求解。你给出了2000年作为最终成本的例子,因此你可以从中倒转来确定出价。我将添加你的具体例子,以更好地解释该怎么做。非常感谢你给出了清晰的答案,但PIN到底是什么?抱歉,英语不是我的第一语言。它接受值,使其至少与第二个参数一样大,最多与第三个参数一样大。即,引脚(x,0,1)将返回与x最接近的大于0且小于1的数字。