Jak podzielić liczbę na wiele części, aby wynikowa suma była równa wartości wejściowej?

Próbuję podzielić liczbę na wiele części, aby suma części była równa liczbie wejściowej.

Jeśli mam 3,99 i jeśli muszę podzielić na dwie części, oczekiwany wynik to 2 i 1,99 (2 + 1,99 = 3,99)

A jeśli muszę podzielić 3,99 na 3 części, oczekiwana wydajność wynosi 1,3, 1,3 i 1,39 (1,3 + 1,3 + 1,39 = 3,99)

Udało mi się wygenerować 2.99 i 1 dla pierwszego przykładu i udało mi się uzyskać 1.99, 1 i 1 dla drugiego przykładu. Jednak w obu przypadkach wyniki są bardzo dalekie od oczekiwanych wyników.

Muszę podzielić opłaty pocztowe na osobne pozycje. Wynik może być równo podzielony lub nierównomiernie podzielony, zapewniając jednocześnie, że suma różnych części jest równa liczbie wejściowej.

Oto kilka innych przykładów:

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

questionAnswers(3)

yourAnswerToTheQuestion