Около 3 дней я пытаюсь найти общую формулу для разделения платежей между людьми.Пока что в Java я делаю что-то вроде этого:
NameArray [Me, Dad, Mum, Sister]
singlePayment[10,5,15,20,2,4]
totalPaymentperPerson[25, 20, 6, 15]
Затем я приказываю по самой высокой цене totalPaymentperPerson --> [25,20,15,6]
Таким образом, имя Array стало [Me, Dad, Sister, Mum]
(Вся цена и имя добавляются пользователем динамически)
Итак, общая стоимость: 66
Цена на человека: 16.5 --> 66/4
debtorArray [Sister, mum] --> the pay 15 and 6, under the cost per person of 16.5
receiverArray[Me, Dad] --> [20.5, 3,5]
differenceArray[1.5, 10.5] ---> cpp - debtorArray
Теперь я должен сделать что-то вроде этого:
- Мама должна мне 8,5
- Мама должна папе 6,5
- Сестра должна папе 1,5
Я не могу понять, как этого добиться ... Если я делаю формулу для 3 участников, то, если у меня есть 6 участников, формула больше не работает .. или, может быть, она будет работать, если яесть 3 платежа, но не с 5.. Есть ли способ сделать это с помощью логики?У меня слишком много "если-еще" в моем коде ...