這個計算機的用途
本工具適用於日本。日本計程車的跳表車資以日圓顯示,而拼車均攤時習慣無條件進位至最接近的 10 日圓單位。當幾個人共乘一輛計程車、依序下車(離目的地最近的先下車)時,跳表車資會持續往上跳。若把整趟車資平均分攤其實並不公平,因為早下車的人並沒有搭到後段較長的路程。這個計算機會依路段分攤車資:兩次下車之間的每一段,只由那段路程中仍在車上的人負擔。
使用方式
輸入乘客人數(N),以及每次下車時的跳表累計金額,由小到大、以逗號分隔。第一個數字是第一個人下車時的累計表值;最後一個數字則是整趟的總車資。舉例來說,三個人共乘時,你可以輸入 800,1500,2400。
計算公式說明
設 \(m_0 = 0\),\(m_k\) 為第 \(k\) 次下車時的累計表值。第 \(k\) 段的車資為 \(f_k = m_k - m_{k-1}\)。在這一段路程中,仍有 \(N - k + 1\) 人在車上,因此每人負擔 \(\left\lceil \frac{f_k}{10 \times \text{人數}} \right\rceil \times 10\)——也就是把該段車資除以當時的人數後,無條件進位至最接近的 10 日圓。
$$\text{Share}_j = \sum_{k=1}^{j} 10\left\lceil \frac{m_k - m_{k-1}}{\,N - k + 1\,} \right\rceil$$由於進位的關係,總額可能會略微超出,所以最後一位乘客會吸收剩餘的差額:他的應付金額會被設定為「總車資減去其他人進位後的分攤額」,藉此保證加總後恰好等於跳表車資。
實際範例
三位乘客,表值分別為 800、1500、2400。第 1 段(3 人):\(800 \div 3 = 266.67\),每人無條件進位為 270。第 2 段(2 人):\(700 \div 2 = 350\),每人 350。第 3 段(1 人):900。各人暫計總額:\(P_1 = 270\)、\(P_2 = 620\)、\(P_3 = 1520\)(合計 2410)。最後一位吸收多出的 10 日圓:\(P_3 = 2400 - (270 + 620) = 1510\)。最終結果:P1 付 270、P2 付 620、P3 付 1510,合計 2400。
常見問題
誰付得最多?通常是最後下車的人,因為他全程都在車上,而且還要吸收進位後的差額。
為什麼要無條件進位到 10 日圓?日本的現金與拼車分攤習慣都以 10 日圓為單位;無條件進位可避免出現零頭,也是普遍的慣例。
這樣分攤一定完全公平嗎?它的前提是「離目的地最近的先下車」。如果繞路導致較早的某一站變得更貴,中段的乘客就可能被略微多收——這是「每段均攤」本身難以避免的限制。