経費割り勘ツール

グループの支出を均等または独自の割合(パーセントや固定額)で分割。出力は各自の残高と振込指示(「A は B に X 円返す」)。

Greedy algorithm: largest debtor pays largest creditor until everyone clears. This is usually optimal but not always provably minimum for adversarial cases.

用途

「週末の旅行に行って、誰が誰にいくら返すんだっけ?」用の計算機です。メンバー、支出(誰が支払い、誰の分か)を登録すれば、各自の純残高と最小限の振込手順を計算します。

使い方

  1. メンバーを追加。
  2. 支出を追加:支払者、金額、分担(均等/%/固定額)。
  3. 残高を確認 — プラス=受取、マイナス=支払い。
  4. 精算(n 人なら最大 n−1 件の振込で完結)。
  5. 「URL に保存」でグループ全体に共有。

アルゴリズム

厳密な最小振込問題は NP 困難なため、貪欲法を使います: 最大の債務者が最大の債権者に支払う。実用上はほぼ最適です。

通貨

1 グループ=1 通貨。複数通貨の旅行では、決済日の実勢レートで各支出を共通通貨に換算してから入力してください。

共有

URL フラグメントはサーバーに送信されませんが、URL を持つ人は中身を全部見られます。旅行のプライベートチャットでのみ共有してください。

よくある落とし穴