Как разделить число на несколько частей, чтобы полученная сумма была равна входной?

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

Если у меня 3,99 и мне нужно разделить на две части, ожидаемый результат составляет 2 и 1,99 (2 + 1,99 = 3,99)

И если мне нужно разделить 3,99 на 3 части, ожидаемый результат составляет 1,3, 1,3 и 1,39 (1,3 + 1,3 + 1,39 = 3,99)

Мне удалось вывести 2,99 и 1 для первого примера, и мне удалось получить 1,99, 1 и 1 для второго примера. Однако в обоих случаях результаты очень далеки от ожидаемого результата.

Мне нужно разделить почтовые расходы на отдельные позиции. Результат можно разделить поровну или неравномерно, убедившись, что сумма различных частей равна входному числу.

Вот еще несколько примеров:

3.99 divided in 3 parts: 1.33, 1.33, 1.33
3.98 divided in 3 parts: 1.33, 1.33, 1.32
3.97 divided in 3 parts: 1.32, 1.32, 1.33
3.96 divided in 3 parts: 1.32, 1.32, 1.32
3.95 divided in 3 parts: 1.32, 1.32, 1.31

Ответы на вопрос(3)

Ваш ответ на вопрос