Как разделить сумму на части где каждая часть не больше определённого числа Leave a comment

В работе с повседневными  задачами может понадобится разбить большое число на несколько более мелких частей где сумма этих частей будет равна заданному большому числу. Например такие операции разделения суммы могут потребоваться при разделении суммы оплаты на определённое число транзакций.

Например:

У нас есть сумма корзины или заказа равная 10350.8 руб., нам надо что бы каждая оплата была не более 1500.5 руб. (пример умышленно взят с копейками, для полноты понимания). Задача разбить корзину на оплаты, где каждая оплата не может превышать 1500.5 руб.

Делаем небольшую функцию:

Результатом работы функции будет массив значений, содержащих в каждом значении (кроме последнего) – 1500.5. Последним значением будет остаток для дополнения до заданной суммы.

Например зададим такие условия для функции:

В результате получим вывод на экран:

Как видно из примера мы разбили сумму заказа на части более мелких оплат согласно условию размера максимальной части оплаты.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *