Mientras me movía, rompí mi lámpara. Ahora necesito uno nuevo. ¡Es tu trabajo hacerme una lámpara! No estoy seguro de qué tamaño quiero, aunque sé que quiero uno ondulado.
Su programa / función debe incluir una entrada numérica e imprimir una lámpara con tantos garabatos / protuberancias.
Ejemplos:
Entrada:2
Salida:
/ - \ () () / __ \
Entrada:3
Salida:
/ - \ () () () / __ \
Entrada:5
Salida:
/ - \ () () () () () / __ \
Reglas:
- 0 y números negativos no importan
- Para darle a las lámparas (un desafío de este tipo) más variadas, debe cambiar la pantalla de la lámpara.
- Deben tener 4 caracteres de ancho y 1 de alto.
- Pueden tener cualquier forma, incluso formas sin pantalla de lámpara.
- No deben contener espacios en blanco.
- La base debe permanecer igual.
- Debe mostrar un ejemplo de entrada y salida con la pantalla de su lámpara.
- ¡El código más corto gana!
ABBB..BBBC
. El requisito de cambiar una sección solo significa que las personas usarán una cadena corta incorporada.Respuestas:
Pyth - 16 bytes
Utiliza comillas para el tono ya que N está preinicializado a eso.
Pruébelo en línea aquí .
Muestra para 5:
fuente
Muñeco de nieve 0.2.0 , 42 caracteres
Ejecución de muestra:
Así que solo noté que olvidé implementar la capacidad de escapar de las barras diagonales inversas cuando resolví este desafío. Eso definitivamente será algo en la próxima versión, pero por ahora, esto es lo que hice para imprimir la línea final:
92
es el código ASCII para una barra diagonal inversa, lowR
envuelve en una matriz y ahora puedo imprimirlosP
porque las "cadenas" en Snowman son en realidad solo matrices de números.fuente
> <> ,
434138 bytesEntrada a través de un punto de código, por ejemplo, el espacio es 32. Esto usa parte del propio código del programa como pantalla, lo que da como resultado algo que parece una antena parabólica:
(Sugerencia gracias a @randomra)
Para tres bytes más, podemos cambiar la tercera línea para agregar un poco más de personalización:
Esto produce una de esas lámparas que disparan la luz hacia arriba, a falta de una mejor manera de decirlo:
fuente
R,
545246 bytesEn esta versión, entrada y salida. están casi mezcladas:
{entrada / salida} PONER:
EDITAR 1 : -2 bytes gracias al comentario de @manatwork.
EDITAR 2 : -6 bytes. El crédito completo va a @manatwork nuevamente
fuente
" /_\\"
debería ser"/__\\"
. Por cierto, ¿es eso\r
necesario?\r
me salvó dos bytes! Debería haber releído mi código! Gracias !cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")
parece funcionar.Paja , 26 bytes (no competitivos)
Úselo
'--'
como pantalla de lámpara,tome la entrada en unarioahora en decimalfuente
CJam, 18 bytes
Ejecución de muestra para la entrada 5:
Pruébalo en línea aquí
fuente
JavaScript ES6, 34 bytes
Las nuevas líneas son significativas.
Ejemplo con entrada de 5:
fuente
sed, 28 bytes
Toma entrada en unario. La sombra es la selección obvia (igual que la base).
Prueba de funcionamiento
fuente
Gema: 30 caracteres
Ejecución de muestra:
fuente
jq: 30 caracteres
(Código de 29 caracteres + opción de línea de comando de 1 carácter).
Ejecución de muestra:
Prueba en línea (
-r
no se admite el paso por la URL; compruebe usted mismo la salida sin formato).fuente
C, 54 bytes
Llame
f()
con la altura deseada de la lámpara.Pruébalo con ideone.
Ejemplo de salida para 5:
fuente
Pyke, 15 bytes
Pruébalo aquí!
Salidas:
fuente
Kotlin , 36 bytes
Pruébalo en línea!
fuente
Espacio en blanco , 169 bytes
Se agregaron letras
S
(espacio),T
(tabulación) yN
(nueva línea) solo como resaltado.[..._some_action]
agregado solo como explicación.Pruébalo en línea (solo con espacios en bruto, pestañas y nuevas líneas).
Explicación en pseudocódigo:
Empuja todos los caracteres en orden inverso a la pila y luego los imprime en un bucle.
NOTA:
i
en el pseudocódigo anterior se almacena de nuevo en el montón en cada iteración deLOOP
, porque no queremos dejarlo en la pila para que se imprima al final.fuente
Lienzo , 8 bytes.
Pruébalo aquí!
Explicación:
fuente
05AB1E ,
17151311 bytes-2 bytes (17 → 15) gracias a @EriktheOutgolfer .
-2 bytes (13 → 11) después de inspirarse en la respuesta de Canvas de @dzaima .
La tapa es igual a la base (
/__\
).Explicación:
Antigua respuesta de 13 bytes:
Pruébalo en línea.
fuente
Excel, 31 bytes
Una función de hoja de trabajo anónima que toma la entrada como un valor numérico del rango
[A1]
y las salidas a la celda que llama.Esta lámpara es musical y ayudará a animar y alegrar tu día.
Salida
fuente
PowerShell 5.1,
2826 bytesGracias Mazzy por 2 bytes
Dado que la sombra puede tener 4 caracteres, usar un número ahorra un par de comillas. La parte más difícil fue encontrar un tono agradable.
Salida:
fuente
8008;," ()"*"$args";"/__\"
Python 2, 36 bytes
Para la entrada 4:
Tenga en cuenta que para Python que cualquier pantalla de lámpara que use tuberías es un byte menos.
-1 bytes gracias a @Alex!
fuente
print"-"*4+"\n ()"*input()+"\n/__\\"
Japt , 17 bytes
Pruébalo en línea!
La salida para
5
es:fuente
¥
.SWI-Prolog,
7360 bytesa(5).
salidasfuente
Julia, 36 bytes
Esto crea una función sin nombre que toma un entero como entrada e imprime en stdout.
Ejemplo:
fuente
Bash + coreutils, 37 bytes
Las nuevas líneas son necesarias y se cuentan en el total de bytes. Se requiere GNU sed.
Correr:
Salida:
fuente
Ruby, 42 bytes
fuente
Neoscript , 28 bytes
fuente
Java
711,848337 bytesPruébalo en línea. (NOTA: Java 11 aún no es compatible con TIO, por lo que
String.repeat(int)
se ha emulado conrepeat(String,int)
el mismo número de bytes).Usos
i!!i
como gorra.¡!!¡
Se ve mejor , pero es dos bytes más.Explicación:
fuente
Perl 5 , 24 bytes
Pruébalo en línea!
Usos
1000
como la tapa.fuente
Por delante , 38 bytes
Pruébalo en línea!
Muestras
fuente
Befunge-93 , 50 bytes
Pruébalo en línea!
Ejemplo con entrada 3
fuente
PHP, 38 bytes
Guardar en archivo; ejecutar como tubería
-nF
o probarlo en línea .fuente