Acabo de probar un juego llamado Couch 2048 .
(Nota: Debería echar un vistazo para comprender mejor esta pregunta).
Dado que no fue muy emocionante para mí, me he estado preguntando '¿Cuánto más hasta 2048?'
Eso me inspiró a publicar un desafío, porque calcular esto no es tan fácil como pensaba.
Su objetivo:
Dada una lista de bolas en el sofá, debe extraer cuántas bolas con un valor de 2 deben caer del cielo para que uno pueda ganar el juego (alcanzando la bola 2048).
- Suponga que la entrada es válida.
- Suponga que el jugador no dejará caer ninguna bola.
- Supongamos que las bolas que caen del cielo siempre tienen un valor de 2, como he dicho.
- Ejemplos de salida válidos: 3, "4", [5], ["6"]
Editar:
debo aclarar algo:
- Tienes que imprimir la menor cantidad de 2s necesaria.
Casos de prueba:
[2048] -> 0
ya has ganado
[1024,1024] -> 0
No necesitas más bolas para ganar
[1024,512,256,128,64,32,16,8,4,2] -> 1
Se necesita una bola para 'activar la cadena'
[512] -> 768
[512,2] -> 767
[4,16,64] -> 982
Notas :
No soy un hablante nativo: dígame si vio un error tipográfico o algún texto no gramatical.
Si algo no está claro, pregunte en los comentarios.
[4,16,64] -> 22
?2048
y dividir por2
- si es así, es posible que desee verificar dos veces el último caso de prueba; si no, utilícelo como un ejemplo para explicar por qué la salida no está 't982
.Respuestas:
Java 8, 17 bytes
Puerto de @LuisFelipeDeJesusMunoz 'Respuesta de JavaScript .
Pruébalo en línea.
Explicación:
fuente
Brain-Flak , 72 bytes
Pruébalo en línea!
fuente
Python 2 , 22 bytes
Ya sabes, me acabo de dar cuenta de que
4**5
tiene la misma longitud que1024
.Pruébalo en línea!
fuente
MathGolf ,
65 bytesPrimera respuesta de MathGolf. :)
Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
fuente
05AB1E , 5 bytes
Puerto de @LuisFelipeDeJesusMunoz 'Respuesta de JavaScript .
Pruébelo en línea o verifique todos los casos de prueba .
Explicación:
fuente
APL (Dyalog Unicode) , 10 bytes
Pruébalo en línea!
fuente
JavaScript (Node.js) , 25 bytes
Basado en el comentario y la respuesta de @Shaggys
-3 bytes de @Arnauld = D
Pruébalo en línea!
fuente
J , 10 bytes
Pruébalo en línea!
Alternativa:
J , 10 bytes
Pruébalo en línea!
fuente
Rubí , 17 bytes
Pruébalo en línea!
fuente
Catholicon , 5 bytes
Explicación:
fuente
TI-Basic, 8 bytes
fuente
JavaScript, 28 bytes
Pruébalo en línea
fuente
Gelatina ,
76 bytesPruébalo en línea!
Explicación:
-1 byte usando un número base-250
fuente
Japt,
76 bytesPruébalo o verifica todos los casos de prueba
fuente
perl -aE, 27 bytes
Esto lee una línea con números (espacios en blanco separados)
STDIN
y escribe la respuestaSTDOUT
.Lo que hace es restar todos los números de la entrada de 2048, y divide el resto por 2. El
-a
interruptor coloca el en la matriz@F
(un número por elemento). Si interpolamos una matriz en una cadena (que es lo que estamos haciendo aquí), perl coloca el valor de$"
entre los elementos. La variable poco utilizada$:
es predeterminada\n-
; y dado que se ignora el espacio en blanco entre los tokens, el resultado es restar todos los números de 2048. Luegoeval
realiza el cálculo.fuente
JavaScript (Node.js) , 33 bytes
Pruébalo en línea!
¿Por qué no lo haces
[1024,1024,1024]
?fuente
R , 17 bytes
Pruébalo en línea!
fuente
TeaScript , 11 bytes
Pruébalo en línea!
fuente
Stax , 6 bytes
Ejecutar y depurarlo
fuente
Perl 6 , 12 bytes
Pruébalo en línea!
Anónimo Cualquier lambda que tome una lista y devuelva un número.
fuente
AWK, 26 bytes
Los números de entrada están separados por líneas nuevas (es decir, una por línea)
fuente
Neim, 6 bytes
Bastante nuevo para Neim pero lo tengo funcionando
Explicación:
Pruébalo en línea!
fuente
JAVA, 30 bytes
fuente
RAD , 10 bytes
Pruébalo en línea!
fuente
Clojure , 24 bytes
Pruébalo en línea!
fuente
Haskell , 16 bytes
Una función anónima, toma una lista y devuelve un flotante.
Pruébalo en línea!
fuente
F #, 24 bytes
1024 menos la suma dividida por 2.
fuente