Calcularea prețului sumei licitate din costul total

voturi
1

Trebuie să următoarea problemă pentru a rezolva. Trebuie să calculeze prețul de licitare la un preț total. De exemplu, un client vrea să plătească 2000 $ ca un preț total, dar de la acest preț, există costuri adăugate:

Prețul -usage care este de 10% din prețul de licitare cu un minim de 10 $ și un maxim de 50 $

Prețul -seller: 2% din prețul de licitare

Prețul -added: 5 $ pentru o sumă licitată între 1 și 500 10 $ pentru o sumă licitată între 501 și 1000 15 $ pentru o sumă licitată între 1001 și 3000 20 $ pentru o sumă licitată de peste 3000 $

Costul -storing: 100 $

din toate acestea, trebuie să calculeze prețul de licitare pentru un total de 2000 $, de exemplu. Am un fel de nici o idee a modului în care acest lucru poate fi realizat. Poate cineva sa-mi dea unele sugestii sau bucăți de răspuns a ceea ce ar trebui să fie algoritmul?

EDIT: OK am cum să calculeze algebra, acum unde i-am blocat este modul de a scrie în algoritmul de cod sau pseudo-cod. Oricine are un indiciu?

Întrebat 12/03/2009 la 14:36
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
7

Puteți exprima toate aceste costuri în funcție de prețul ofertei. Generează o ecuație gigant, care este suma tuturor acestor funcții și pentru a rezolva o anumită valoare finală, de exemplu:

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

Deci, costul final este ceva de genul:

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

Rezolva pentru o anumită valoare și ați terminat.

De exemplu, dacă doriți costul total de 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.

Suma licitată trebuie să fie de cel puțin> 1500 și <2000, care funcționează bine din moment ce putem face aceste secțiuni PIN constante:

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

Expresiile PIN sunt cel mai greu de factor afară, astfel încât s-ar putea să ghicească de câteva ori până când veți obține ceva care îngustează gama de oferte pe care doriți să calculeze.

Publicat 12/03/2009 la 14:42
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more