ماذا تفعل هذه الحاسبة
عندما يسافر الأصدقاء معًا، عادةً ما يحجز أحدهم الفندق، ويدفع آخر ثمن الوقود، ويتكفّل ثالث بالعشاء. ومع نهاية الرحلة لا يعرف أحد كم على كل واحد وكم له. هذه الحاسبة تجمع كل المبالغ المدفوعة، وتقسم الإجمالي بالتساوي بين الجميع، ثم تحسب أبسط مجموعة من التحويلات بحيث ينتهي الأمر وقد دفع كل شخص المبلغ نفسه.
طريقة الاستخدام
حدّد عدد الأشخاص في مجموعتك، ثم أدخل المبلغ الذي دفعه كل شخص فعليًا من المصاريف المشتركة. اترك الرقم صفرًا لمن لم يدفع شيئًا. اضغط على "احسب" وستظهر لك الحصة المتساوية لكل شخص، وإجمالي تكلفة الرحلة، وقائمة بالمدفوعات — مثل "يدفع الشخص أ للشخص ب مبلغ X" — تُسوّي حسابات الجميع بأقل عدد من العمليات.
شرح المعادلة
أولًا نحسب الحصة العادلة لكل شخص: $$\text{الحصة} = \frac{\text{إجمالي المدفوع}}{\text{عدد الأشخاص}}$$ ثم نحسب رصيد كل شخص: $$\text{الرصيد} = \text{ما دفعه} - \text{الحصة}$$ الرصيد الموجب يعني أنه دفع أكثر من حصته وله مبلغ مستحق؛ والرصيد السالب يعني أنه دفع أقل وعليه مبلغ. تقوم خوارزمية مطابقة جشعة بتحويل المال مرارًا من صاحب أكبر دَين إلى صاحب أكبر استحقاق حتى يصبح كل رصيد صفرًا، وهو ما يبقي عدد التحويلات صغيرًا.
مثال محلول
ثلاثة أصدقاء خرجوا في رحلة. دفع الشخص الأول 120$، ودفع الشخص الثاني 30$، ولم يدفع الشخص الثالث شيئًا (0$). الإجمالي 150$، فتكون حصة كل واحد 50$. $$\text{الحصة} = \frac{150}{3} = 50$$ الأرصدة هي: +70$ و−20$ و−50$. يدفع الشخص الثالث للشخص الأول 50$، ويدفع الشخص الثاني للشخص الأول 20$ — وبذلك يكون كل شخص قد دفع فعليًا 50$.
الأسئلة الشائعة
هل تقسم هذه الحاسبة التكاليف بشكل غير متساوٍ؟ لا — هذه النسخة تقسم الإجمالي بالتساوي بين الجميع، فيساهم كل شخص بالمبلغ نفسه.
أي عملة تستخدمها؟ الحاسبة لا ترتبط بعملة محددة؛ فقط استخدم العملة نفسها في كل المدخلات.
لماذا يُقلَّص عدد التحويلات إلى أدنى حد؟ لأن قلة المدفوعات تعني متاعب أقل. تطابق الخوارزمية الجشعة صاحب أكبر استحقاق مع صاحب أكبر دَين لتقليل عدد مرات انتقال المال.