Pembagi Pengeluaran

Bagi pengeluaran grup rata atau dengan share custom (persentase atau jumlah tetap). Output: total per orang + instruksi transfer ('A utang ke B €X').

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

Kegunaan

Kalkulator "kami pergi liburan akhir pekan, sekarang siapa utang ke siapa". Anggota, pengeluaran (siapa bayar, atas tanggungan siapa), saldo bersih dan transfer minimum.

Cara pakai

  1. Tambah anggota.
  2. Tambah pengeluaran: siapa bayar, jumlah, pembagian (rata / % / jumlah tetap).
  3. Baca saldo — positif = terima, negatif = bayar.
  4. Selesaikan (n orang → maksimal n−1 transfer).
  5. "Simpan URL" untuk dibagikan ke grup.

Algoritma

Masalah minimum-transaksi sungguhan adalah NP-sulit. Kami pakai greedy: debitur terbesar bayar kreditor terbesar. Hampir selalu optimal di kenyataan.

Mata uang

Satu grup = satu mata uang. Untuk perjalanan dengan mata uang campur, konversi setiap pengeluaran ke satu mata uang dengan kurs hari itu sebelum di-input.

Berbagi

Fragmen URL tidak pernah dikirim ke server, tapi siapa pun yang punya URL melihat semuanya. Bagikan di chat pribadi grup.

Kesalahan umum