Что считает этот калькулятор
Когда друзья едут вместе, один бронирует отель, другой заправляет машину, третий оплачивает ужин. К концу поездки уже никто не помнит, кто кому и сколько должен. Этот калькулятор суммирует все траты, делит общую сумму поровну между участниками и подбирает самый простой набор переводов, чтобы в итоге каждый потратил одинаково.
Как пользоваться
Укажите, сколько человек в компании, и введите, сколько на самом деле заплатил каждый из общих расходов. Тот, кто не платил ничего, остаётся с нулём. Нажмите «Рассчитать» — и вы увидите равную долю на человека, общую стоимость поездки и список переводов в формате «Участник A переводит участнику B X ₽», который закрывает все долги минимальным числом операций.
Как работает формула
Сначала считаем справедливую долю каждого: $$\text{Доля} = \frac{\text{Общая сумма}}{N}$$ Затем для каждого вычисляем баланс: $$\text{Баланс} = \text{сколько заплатил} - \text{доля}$$ Положительный баланс означает переплату — этому человеку должны вернуть деньги; отрицательный — недоплату, то есть он должен доплатить. «Жадный» алгоритм раз за разом отправляет деньги от самого крупного должника самому крупному кредитору, пока все балансы не обнулятся, — так число переводов остаётся минимальным.
Разбор примера
Трое друзей едут отдыхать. Участник 1 заплатил 120 $, участник 2 — 30 $, участник 3 — 0 $. Всего получается \(120 + 30 + 0 = 150\) $, значит, каждый должен по \(\frac{150}{3} = 50\) $. Балансы такие: \(+70\) $, \(-20\) $, \(-50\) $. Участник 3 переводит участнику 1 50 $, а участник 2 переводит участнику 1 20 $ — и теперь каждый фактически потратил по 50 $.
Частые вопросы
Можно ли разделить расходы непропорционально? Нет — в этой версии общая сумма делится строго поровну. В итоге каждый вносит одинаковую сумму.
В какой валюте считает калькулятор? Валюта не важна — просто указывайте все суммы в одной и той же валюте (рубли, доллары, евро — что угодно).
Почему число переводов минимально? Чем меньше переводов, тем меньше суеты. «Жадный» алгоритм сводит самого крупного кредитора с самым крупным должником, чтобы деньги переходили из рук в руки как можно реже.