Cansado de sempre se perguntar quantos Pokémon você precisa capturar para obter essas evoluções de alto nível? Maravilha não mais! Agora você escreverá um programa ou função completa para calculá-lo para você!
O desafio:
Como entrada, seu programa receberá uma lista dos custos em doces para evoluir um Pokémon para o próximo nível. (Esta lista pode ser separada por qualquer delimitador de sua escolha ou como argumentos de função). Seu programa retornará ou imprimirá o número de Pokémon que devem ser capturados, incluindo o que será desenvolvido, para evoluir em todos os níveis fornecidos.
Como você calcula isso? Assim:
1. Adicione todos os custos com doces: 12 + 50 = 62
2. Subtraia 3 doces do total, sendo esse o Pokémon que você mantém para evoluir: 62 - 3 = 59
3. Divida esse número por 4 (3 para capturar, 1 por entregá-lo ao Professor), sempre considerando o ceil()
resultado: ceil(59/4) = 15
4. Finalmente, adicione 1 a este total para obter o número total de Pokémon que você deve capturar, 16!
Exemplo Input -> Output
:
[4] -> 2
[50] -> 13
[12, 50] -> 16
[25, 100] -> 32
[19, 35, 5, 200] -> 65
Ganhando:
O aplicativo já ocupou a maior parte do espaço no seu telefone, portanto, seu programa precisa ser o mais curto possível. O programa completo ou função com a menor contagem de bytes será aceito em duas semanas! (com quaisquer laços sendo resolvidos pela entrada mais antiga enviada!)
floor(Sum(L)/4)+1
? A fórmula atual não funciona para somas divisíveis por 4. Por exemplo[400]
, retornaria 100, quando, na realidade, precisa ser 101 para que o extra evolua.Respostas:
05AB1E , 4 bytes
Explicação
Experimente online
fonte
Geléia,
54 bytesExperimente online!
S
hum, número inteiro dividido:
por4
e incremento‘
.fonte
[4]
.Brain-Flak 112 bytes
Experimente Online!
Explicação
Soma a pilha, subtrai uma, divide por quatro e adiciona uma.
fonte
[4]
.C # REPL, 15 bytes
Transmite para
Func<IEnumerable<int>, int>
.fonte
Na verdade, 4 bytes
Experimente online!
Explicação:
fonte
Braquilog , 5 bytes
Experimente online!
Explicação
Uma resposta muito original…
fonte
Python 2, 21 bytes
Ideone it!
Fórmula:
((sum(a)-1)//4)+1
onde//
estáfloor-div
.fonte
[4]
.BASH (sed + bc) 19
Entrada é uma
+
lista separada no stdinPor exemplo:
echo '(19+35+5+200)'| sed 's~)~+4)/4~'|bc
fonte
Haskell, 17 bytes
fonte
Pyke, 4 bytes
Experimente aqui!
fonte
Pitão, 5 bytes
Experimente aqui!
Soma a entrada com
sQ
, divida por 4 com/4
e, finalmente, aumenteh
.fonte
CJam, 7 bytes
Experimente aqui!
Define um bloco sem nome que espera a entrada na pilha e deixa o resultado lá.
:+
soma a lista,4/
divide o resultado por 4 e)
incrementa isso.fonte
Retina ,
1817 bytesA contagem de bytes assume a codificação ISO 8859-1.
A entrada é separada pela alimentação de linha.
Experimente online!
fonte
R, 22 bytes
fonte
JavaScript, 29 bytes
fonte
SILOS
100 99103 caracteres + 22 para entrada de amostraCódigo com equipamento de teste.
insira como uma série de comandos set para modificar os pontos do heap começando no ponto 512.
Experimente on-line!
fonte
Python 2, 40 bytes
fonte
sum(s)
é um número inteiro e,/
no Python 2, seria uma divisão inteira quando ambos os argumentos são inteiros.[4]
.