如果你只能買什麼表中,你將需要循環
1) buy maximum amount without going over.
2) capture hours, and calculate money left.
3) repeat
這是假設你得到至少一個更好的交易規模較大,你所購買的時間。
所以從17USD,你會
1) buy 1 card (15,30USD)
2) 5 hours (total), (1,70USD left)
1) buy 3 cards (3 x 0,50 = 1,50USD)
2) 5 hours 45 min (total), (0,20 left)
exit (not enough to buy lowest card
Answer = 5 hours 45 min (0,20 left)
我的假設可能出現的缺陷,但這裏是一個很好的理由。假設這些是電話卡,他們通常會在第一時間收取設置費(第一次),或者每次撥打電話時都收取基本的每次通話費,因此您實際上並未獲得卡上所述的完整通話時間,只有餘額量。
他們可能會說5℃/分鐘,但10℃基地每話費,這意味着你得到
- a 8 minute call on a "15minute" card for 50 cents, (6.25c/min)
- a 58 minute call on a "1hour" card for 300 cents (5.17c/min)
- a 484 minute call on a "8hours" card for 2430 cents (5.02c/min)
我知道這可能比需要的答案的詳細信息,但執行取決於您正在編碼爲購買者或賣家。如果你是購買者,你必須做更多的數學計算,並且提供有關安裝費用,每次通話費用以及計劃使用每張卡片撥打的電話數量的信息。這就是爲什麼對於任何電話計劃來說,瞭解您的通話模式非常重要。
你試過了什麼代碼?你只能買桌子上的東西,或者你可以買16分鐘嗎? – ergonaut
'3小時以上 - >成本9,30USD'看起來線性爲3美元/小時 –
@Alex,no。即.. 8小時,它是24.3美元,這意味着它是3.0375 – g2000