Stanco di chiederti sempre quanti altri Pokémon devi catturare per ottenere evoluzioni di alto livello? Non chiedo più! Ora scriverai un programma o una funzione completa per calcolarlo per te!
La sfida:
Come input, il tuo programma riceverà un elenco dei costi in caramelle per far evolvere un Pokémon al livello successivo. (Questo elenco può essere separato da qualsiasi delimitatore di tua scelta o come argomento di funzione). Il tuo programma quindi restituirà o stamperà il numero di Pokémon che devono essere catturati, incluso quello che si evolverà, per evolversi attraverso tutti i livelli indicati.
Come si calcola questo? In questo modo:
1. Aggiungi tutti i costi delle caramelle: 12 + 50 = 62
2. Sottrai 3 caramelle dal totale, essendo questo da uno dei Pokémon che tieni in evoluzione: 62 - 3 = 59
3. Dividi questo numero per 4 (3 per catturare, 1 per darlo al Professore), prendendo sempre ceil()
il risultato: ceil(59/4) = 15
4. Infine, aggiungi 1 a questo totale per ottenere il numero totale di Pokémon che devi catturare, 16!
Esempio Input -> Output
:
[4] -> 2
[50] -> 13
[12, 50] -> 16
[25, 100] -> 32
[19, 35, 5, 200] -> 65
Vincente:
L'app ha già occupato gran parte dello spazio sul telefono, quindi il programma deve essere il più breve possibile. Il programma completo o la funzione con il numero di byte più piccolo verrà accettato tra due settimane! (con eventuali vincoli risolti dalla prima iscrizione inviata!)
floor(Sum(L)/4)+1
? La formula attuale non funziona per somme divisibili per 4. Ad esempio [400]
, restituirebbe 100, quando in realtà deve essere 101 per far evolvere quella extra.