我得跟着问题解决。我必须从总价中计算出投标价格。例如,一个客户希望支付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表达式是最难计算的,所以在得到缩小要计算的出价范围的结果之前,可能需要猜测几次。