Sind Sie es leid, sich immer wieder zu fragen, wie viele Pokémon Sie noch fangen müssen, um diese hochrangigen Entwicklungen zu erzielen? Wundere dich nicht mehr! Jetzt schreiben Sie ein komplettes Programm oder eine Funktion, um es für Sie zu berechnen!
Die Herausforderung:
Als Eingabe erhält Ihr Programm eine Liste der Kosten für Süßigkeiten, um ein Pokémon zur nächsten Stufe zu entwickeln. (Diese Liste kann durch ein beliebiges Trennzeichen Ihrer Wahl oder als Funktionsargumente getrennt werden.) Ihr Programm gibt dann die Anzahl der Pokémon zurück oder druckt sie aus, die gefangen werden müssen, einschließlich derjenigen, die entwickelt werden, um sich durch alle angegebenen Stufen zu entwickeln.
Wie berechnet man das? So sieht es aus:
1. Addiere alle Süßigkeiten-Kosten: 12 + 50 = 62
2. Subtrahiere 3 Süßigkeiten von der Gesamtsumme, wobei dies von dem einen Pokémon ist, das du für die Entwicklung behältst: 62 - 3 = 59
3. Teile diese Zahl durch 4 (3 für das Fangen, 1 für das Geben an die Professor), wobei Sie immer ceil()
das Ergebnis nehmen: ceil(59/4) = 15
4. Addieren Sie schließlich 1 zu dieser Summe, um die Gesamtzahl der Pokémon zu erhalten, die Sie fangen müssen, 16!
Beispiel Input -> Output
:
[4] -> 2
[50] -> 13
[12, 50] -> 16
[25, 100] -> 32
[19, 35, 5, 200] -> 65
Gewinnen:
Die App hat bereits den größten Teil des Speicherplatzes auf Ihrem Telefon belegt, daher muss Ihr Programm so kurz wie möglich sein. Das komplette Programm oder die Funktion mit der kleinsten Byteanzahl wird in zwei Wochen akzeptiert! (mit etwaigen Bindungen, die durch den frühesten eingereichten Eintrag geklärt werden!)
floor(Sum(L)/4)+1
? Die aktuelle Formel funktioniert nicht für durch 4 teilbare Summen. Zum Beispiel [400]
würde sie 100 zurückgeben, wenn sie in Wirklichkeit 101 sein muss, damit sich die zusätzliche entwickelt.