Napisz funkcję, która pobiera listę liczb całkowitych dodatnich i zwraca listę liczb całkowitych zbliżonych do procentu całkowitego dla odpowiedniej liczby całkowitej w tej samej pozycji.
Wszystkie liczby całkowite na liście zwrotów muszą się sumować dokładnie do 100. Możesz założyć, że suma liczb całkowitych przekazanych jest większa niż 0. To, jak chcesz zaokrąglać lub obcinać ułamki dziesiętne, zależy od Ciebie, o ile dowolna wynikowa liczba całkowita zwracana jest w procentach jest wyłączony o nie więcej niż 1 w dowolnym kierunku.
p([1,0,2]) -> [33,0,67] or [34,0,66]
p([1000,1000]) -> [50,50]
p([1,1,2,4]) -> [12,12,25,51] or [13,12,25,50] or [12,13,25,50] or [12,12,26,50]
p([0,0,0,5,0]) -> [0,0,0,100,0]
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach!
p([2,2,2,2,2,3]). Ma wiele możliwych odpowiedzi prawnych, ale nie wszystkie 2można przypisać do tej samej wartości. Eliminuje to wiele zbyt prostych algorytmów, które działają na wszystkich poprzednich testach, ponieważ zaokrąglanie nie jest takie złe.
p([1000,1000]) -> [49,51]?