AA制分账计算器
每人净额(正 = 应收,负 = 应付)
转账方案(4 笔)
📖 什么是 AA 分账计算器
AA 分账是把一组人之间的多笔代付账单算清楚的工具:先记录每笔账「谁付的、谁参与、多少钱」,再自动汇总每个人的净额,最后给出尽量少笔数的结清方案。聚餐、旅行、合租场景下,从前用计算器逐笔加减容易算错,现在只需录入账单,谁该给谁转多少钱一目了然。
🧭 使用步骤
🧮 核心算法
每笔账单按参与人等额均摊:付款人 +金额,每个参与人 −金额/人数
每人净额 = Σ(垫付金额) − Σ(应摊金额);正数应收,负数应付,全员之和恒等于 0
最少转账笔数 = 总人数 − 零和子集组数(≤ 15 人用位掩码 DP 全局最优,超 15 人退贪心)
⚠️ 注意事项
❓ 常见问题
Q1「尽量少的转账」是怎么算出来的?
先把每人净额算出来,再把这些净额尽量切成多个「子集和 ≈ 0」的小组。组数越多,总转账笔数越少(最少笔数 = 总人数 − 子集组数)。≤ 15 人时用位掩码 DP 求出全局最少笔数;超过 15 人退到普通贪心。
Q2一人付钱、多人参与,怎么记?
把付款人选成实际付钱的那位,参与人勾选实际享用的人即可。默认参与人是全部成员。
Q3部分人不参与某笔账单怎么办?
添加账单时,取消勾选没参与的人即可。系统只在勾选的成员之间均摊。
Q4怎么处理不平均分摊?
当前版本按选定参与人等额均摊。如有人多吃一份,可以把「多出的那一份」作为单独一笔账单加入,参与人只勾选吃多份的那位。
Q5数据会丢吗?
所有数据自动保存在你的浏览器本地(localStorage),刷新页面不会丢失;清除浏览器数据或点「恢复示例」会重置。建议结算后复制清单到群里留存。
Q6删除一个成员后他参与的账单怎么办?
他作为付款人的账单会被一起删除,其他他作为参与人的账单只把他从参与人里移除。建议删除前先核对账单。
Q7金额有小数怎么处理?
所有金额计算后四舍五入到分(0.01 元),转账金额同样到分,因舍入产生的差异通常小于 1 分钱。实际转账时可按清单金额转,也可凑整转。
Q8最多支持多少人和账单?
15 人以内保证转账笔数全局最少(位掩码 DP);超过 15 人自动切换贪心算法,笔数可能略多但仍可用。账单数量没有限制,建议单次活动 30 笔以内便于核对。