这个计算器能帮你做什么
结伴出游时,常常是一个人订酒店、另一个人加油、还有人请大家吃饭。等旅行结束,谁垫了多少、谁还欠谁,往往一笔糊涂账。这款旅行费用均摊计算器会把每个人垫付的钱全部加起来,平均分摊到每个人头上,再算出最简单的转账方案,让大家最终实际支出的金额都一样。
使用方法
先设定同行的人数,然后填入每个人实际为共同开销垫付了多少钱。没垫钱的人填 0 即可。点击「计算」,你就能看到人均应摊金额、旅行总花销,以及一份转账清单——比如「甲转给乙 X 元」——用最少的转账次数让所有人一次结清。
计算公式解析
首先算出每人应摊的份额:$$\text{人均份额} = \frac{\text{总垫付金额}}{\text{人数}}$$。接着计算每个人的余额:$$\text{余额} = \text{本人垫付金额} - \text{人均份额}$$。余额为正,说明这人垫多了,应该收回钱;余额为负,说明垫少了,需要补钱。计算器用「贪心匹配」算法,不断让欠款最多的人转给应收最多的人,直到所有人的余额都归零,从而把转账次数压到最少。
实例演示
三位朋友一起出游:甲垫了 120 元,乙垫了 30 元,丙垫了 0 元。总花销是 150 元,所以每人应摊 50 元。三人的余额分别是 +70 元、−20 元、−50 元。于是丙转给甲 50 元,乙转给甲 20 元——这样一来,每个人实际支出都正好是 50 元。
$$\text{人均份额} = \frac{150}{3} = 50$$
常见问题
能不能按不同比例分摊? 不能——当前版本是把总花销在所有人之间平均分摊,最终每人承担的金额相同。
用的是哪种货币? 它不限定货币,只要所有金额都用同一种货币填写即可(人民币、美元都行)。
为什么要把转账次数降到最少? 转账越少越省事。贪心算法会让应收最多的人和欠款最多的人优先配对,从而减少钱来回转的次数。