这个计算器能做什么
这是一款"割勘(warikan,日式AA分账)"工具,可以把一笔总账单在一群人之间平摊,同时保证每个人付的钱都是方便给现金的整数。它会先减去一笔捐款或赞助(比如寿星、主角主动多出的那一份),再把剩下的金额分摊到每个人头上,并按你选定的单位(10、100、500 或 1000)向上凑整每人份额。由于向上凑整会多收一点点,因此由其中一人来吸收这笔零头,让总账正好对得上。界面默认显示日元(円),但算法是通用的,适用于任何货币。
如何使用
输入账单总额、人数,并选择凑整单位。如有需要,可填写一笔捐款,它会在分账前先从总额中扣除。然后选择由谁来处理多出来的零头:组织者(召集人)——其他人都按向上凑整的份额付钱,组织者少付一点;或者前辈(长辈)——晚辈按向下凑整的较低份额付钱,前辈补足剩下的差额。
公式详解
设净额 \(\text{net} = \text{总额} - \text{捐款}\),\(n\) = 人数,\(k\) = 凑整单位。
$$\text{每人份额} = \left\lceil \frac{\text{net}/n}{k} \right\rceil \times k$$实际收到的总额 = 每人份额 \(\times\) \(n\),凑整零头 = 收到总额 - net。在组织者模式下,组织者支付 每人份额 - 零头。在前辈模式下,
$$\text{晚辈份额} = \left\lfloor \frac{\text{net}/n}{k} \right\rfloor \times k$$前辈支付 net 减去所有晚辈份额之和。
实例演算
账单 12,850,捐款 0,单位 100,5 人,由组织者承担零头。\(\text{net} = 12{,}850\);\(\text{net}/5 = 2{,}570\);
$$\text{每人份额} = \lceil 25.7 \rceil \times 100 = 2{,}600$$收到总额 = 13,000,因此零头 = 150。组织者支付
$$2{,}600 - 150 = 2{,}450$$即 4 个人各付 2,600,组织者付 2,450,合计正好是 12,850。
定义与术语表
- 净额 (\(N\))
- 实际在小组间分配的金额,等于总账单减去任何捐赠:\(N = \text{总账单} - \text{捐赠}\)。所有分摊都在 \(N\) 上进行,而不是原始总额。
- 捐赠
- 从总账单中分离出来的金额,分摊之前——例如小费、慈善捐款或受邀嘉宾的部分。它永远不会向按人头支付的人收取。
- 舍入单位 (\(k\))
- 每份额舍入到的整洁增量(10、100、500 或 1000)。更大的 \(k\) 会产生更整洁的个人金额,但会将更多的账单集中到余数中。
- 按人头份额 (\(P\))
- 每个普通支付者贡献的舍入向下的金额,\(P = \lfloor N / (n\cdot k) \rfloor \cdot k\)。它始终是 \(k\) 的倍数,且永远不会超过平均分摊。
- 余数 (\(A\))
- 一个人支付的剩余部分,以使收集的金额等于 \(N\):\(A = N - P(n-1)\)。因为份额是舍入向下的,\(A\) 至少与 \(P\) 一样大,并吸收舍入差值。
- 组织者模式
- 余数 \(A\) 分配给活动组织者——预订或垫付账单的人——而其他人都支付整洁的 \(P\)。
- 资深模式
- 余数 \(A\) 分配给最资深的成员,这是一种常见的礼仪,资深人士覆盖奇数金额,而年轻人支付整数。
- 年轻人
- \(n-1\) 个普通支付者(除了组织者或资深成员的所有人),每人恰好支付舍入向下的按人头份额 \(P\)。
常见问题
"捐款"这一栏是做什么用的?它是在分账之前从总额中扣除的一笔金额——当寿星、主角等几乎不用付钱或只付一点时特别有用。
为什么组织者付的钱更少?向上凑整会让大家多收一点点,组织者吸收掉这笔多余的钱,这样全组付的总额刚好等于账单金额。
前辈模式有什么不同?晚辈按向下凑整的份额付钱,前辈补足差额、多付一点,好让其他人都能付方便的整数金额。