2009-03-12 6 views
1

私は解決するために問題に従わなければなりません。私は総価格から入札価格を計算しなければならない。例えば、クライアントは2000ドルを合計金額として支払うことを望むが、この価格から追加費用がある。総費用から入札価格を計算する

- 少なくとも10ドルと最大の入札価格から10%である使用価格50 $

-seller価格:入札価格から2%が

-added価格:1001との間の入札のために501〜1000 15 $の間に入札するための1及び500 10との間の入札$ 5 $ 3000 20 $を超える入札単価:$

保存コスト:100 $

これからは、例えば2000ドルの入札価格を計算する必要があります。私はこれがどうやってできるのか分からない。誰かが私にアルゴリズムの何をすべきかのヒントや答えを教えてもらえますか?

EDIT:ok私は代数を計算する方法を得ました。ここでは、コードや疑似コードでアルゴリズムを書く方法があります。誰でもヒントを得た?

答えて

7

これらの費用はすべて、入札単価の関数として表すことができます。これらすべての関数の和である巨人の方程式を生成し、特定の最終値を求めるため、例えば:

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. 

入札は、我々はそれらのPINのセクションを一定にすることができますので、うまく出て働く、少なくとも> 1500と< 2000である必要があります。

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

PIN式は最も難しいので、計算したい入札単価の範囲を絞り込むまで何回か推測する必要があります。

+0

私はあなたのことをよく理解すれば、あなたは私を理解していないと思います。:P私は入札価格を最初から持っていません。私が持っているものはすべてTOTALの価格で、私が計算しなければならないのはBIDの価格です。私が間違っているなら私を訂正してください。あなたの答えをありがとう! – fbernier

+0

最終的なコスト(入札)が既知の値であることを考慮して、入札単価を解決したいとします。最終的なコストの例として2000を指定したので、それを逆戻りして入札を決定することができます。 – MSN

+0

具体的な例を追加して、何をすべきかを説明します。 – MSN

関連する問題