Masz dość nieustannego zastanawiania się, ile jeszcze Pokémonów musisz złapać, aby uzyskać ewolucje na wysokim poziomie? Nic dziwnego, że już nie! Teraz napiszesz kompletny program lub funkcję, aby go obliczyć!
Wyzwanie:
Jako dane wejściowe, twój program otrzyma listę kosztów w cukierkach, aby rozwinąć Pokémona do następnego poziomu. (Ta lista może być oddzielona dowolnym wybranym ogranicznikiem lub jako argumenty funkcji). Twój program zwróci lub wydrukuje liczbę Pokémonów, które należy złapać, w tym tę, która będzie ewoluować, aby ewoluować przez wszystkie podane poziomy.
Jak to obliczyć? W ten sposób:
1. Zsumuj wszystkie koszty cukierków: 12 + 50 = 62
2. Odejmij 3 cukierki od sumy, to jest od jednego Pokémona, którego ewoluujesz: 62 - 3 = 59
3. Podziel tę liczbę przez 4 (3 dla złapania, 1 dla przekazania Profesor), zawsze biorąc ceil()
wynik: ceil(59/4) = 15
4. Na koniec dodaj 1 do tej sumy, aby uzyskać całkowitą liczbę Pokémonów, które musisz złapać, 16!
Przykład Input -> Output
:
[4] -> 2
[50] -> 13
[12, 50] -> 16
[25, 100] -> 32
[19, 35, 5, 200] -> 65
Zwycięski:
Aplikacja zajęła już większość miejsca w telefonie, więc Twój program musi być jak najkrótszy. Kompletny program lub funkcja o najmniejszej liczbie bajtów zostanie zaakceptowana za dwa tygodnie! (wszelkie powiązania są rozstrzygane przez najwcześniej przesłane zgłoszenie!)
floor(Sum(L)/4)+1
? Obecna formuła nie działa dla sum podzielnych przez 4. Na przykład [400]
zwróci 100, podczas gdy w rzeczywistości musi być 101, aby dodatkowa ewoluowała.