1Kişiler

Kimlikler benzersizdir ve kuruş artığı bağlarını belirler.

Yalnız etikettir; kur dönüşümü yapılmaz.

2Giderler

Tutarı ana birimle, virgülden sonra en çok iki hane kullanarak girin.

Hesaplama yalnız bu tarayıcı sekmesinde yapılır.

{ }JSON laboratuvarı

Aynı saf calculate(input) çekirdeğini ham JSON ile çağırın.

Para alanları ana birim değil, doğrudan tamsayı tutarKurus değeridir.

Tek cümlelik cevap

Grup giderini kapatmak için her kişinin ödediği toplamdan kendi payını çıkarın; negatif netliler pozitif netlilere plandaki tamsayı kuruşları gönderdiğinde bütün bakiyeler sıfırlanır.

Hesap nasıl çalışır?

netᵢ = Σ(i'nin ödediği) − Σ(i'nin gider payı)

Pozitif net alacak, negatif net borç demektir. Bütün paylar gider toplamına eşit olduğundan netlerin toplamı sıfırdır.

Eşit paylaşım konvansiyonu

q = ⌊tutarKurus / n⌋ · r = tutarKurus mod n

Katılımcılar JavaScript UTF-16 kimlik sırasına göre artan dizilir. İlk r kişi q+1, kalanlar q kuruş pay alır; bu bağ çözme kuralı sabittir.

[KAYNAK-DOĞRULANMADI] Verilen üç kaynak bu q/r ve kimlik bağı kuralını açıklamıyor; kural aracın açık, deterministik sözleşmesidir.

100,00 TL örneği

  1. A, A/B/C için 10000 kuruş öder.
  2. 10000 = 3 × 3333 + 1; kimlik sırasındaki A'nın payı 3334, B ve C'nin payı 3333 kuruştur.
  3. Netler A +6666, B −3333, C −3333 olur.
  4. B→A 3333 ve C→A 3333 ile hesap kapanır; tek kuruş kaybolmaz.

Plan seçimi

Her turda en büyük kalan borçlu ile en büyük kalan alacaklı eşleşir; tutarlar eşitse kimliği artan olan seçilir. Aktarım iki kalanın küçüğüdür ve her turdan sonra yeniden sıralama yapılır.

Her aktarım en az bir etkin bakiyeyi sıfırladığı için, başlangıçta b borçlu ve a alacaklı varsa plan en çok b+a−1 aktarım üretir.

[KAYNAK-DOĞRULANMADI] Verilen kaynaklar bu özel max/max greedy seçimini ve ona ait b+a−1 türetimini doğrudan belgelemiyor; kapsam kod invariantı ve çalıştırılan karşı örnekle sınanır.

Dört sık kayıt hatası

  • Kuruş artığını yuvarlamak: Herkesi 33,33 yazmak 1 kuruş eksiltir. Eşit mod artığı kimlik sırasıyla dağıtır.
  • Katılımcıyı yanlış seçmek: Giderden yararlanmayan kişiyi işaretlemeyin; ödeyenin katılımcı olması ise zorunlu değildir.
  • Para birimlerini karıştırmak: TL, EUR gibi her etiket için ayrı koşu yapın; araç kur çevirmez.
  • İadeyi negatif gider yazmak: Negatif tutar reddedilir. İadeyi orijinal gideri düzelterek kaydedin; bu sürüm ayrı negatif iade hareketi modellemez.

Kısa SSS

Araç para gönderir mi?

Hayır. Hesap veya IBAN istemez; ödeme talimatı vermek ya da para taşımak yerine yalnızca bir hesap planı üretir.

Plan daha da kısalabilir mi?

Evet. Yöntem geçerli ve azaltılmış bir plan verir; küresel olarak en kısa plan garantisi yoktur ve başka bir geçerli plan daha az aktarım içerebilir.

Kesin payların toplamı uyuşmazsa ne olur?

Hesaplama durur ve EXACT_SUM_MISMATCH hatası verir; sessiz yuvarlama veya düzeltme yapılmaz.

Bu sonuç hukuki borcu kanıtlar mı?

Hayır. Sonuç yalnız girilen kayıtlara dayalı aritmetik özettir; hukuki doğrulama veya finansal danışmanlık değildir.

Kaynaklar ve iddia kapsamı

  • Splitwise — What is Simplify Debts?: sadeleştirmenin kişi toplam bakiyesini koruduğunu ve farklı para birimlerini birleştirmeden ayrı işlediğini açıklar. Sayfa kendi özelliğini anlatır; bu aracın algoritmasına kanıt değildir.
  • Billzer gider hesaplayıcısı: ortak giderlerden “kim kime ne kadar öder” çıktısına yönelik çalışan kullanım örneğidir; algoritma ayrıntısı vermez.
  • Yao, Settling Debts Efficiently: Zero-Sum Set Packing: §1.2'de tamsayı, sıfır-toplam borç modelini; Lemma 1.3.1'de genel n−1 çözümünün varlığını; Theorem 2.2.1'de küresel işlem optimizasyonunun NP-complete olduğunu ele alır. Tezin işaret konvansiyonu bu aracın tersidir.

[KAYNAK-DOĞRULANMADI] Max-borçlu/max-alacaklı greedy, her tur yeniden sıralama, kimlik bağı, eşit bölmedeki kuruş artığı ve bu greedy'ye özel b+a−1 sınırı verilen üç kaynakta yer almıyor. Bunlar sözleşmede açıkça tanımlanmış, test edilen araç davranışlarıdır. Kaynaklar 29 Temmuz 2026 tarihinde doğrudan erişilerek kontrol edildi.