¡Literalmente! El 6 de abril es el Día Nacional del Teflón , que se celebra con sartenes recubiertos de Teflón (lo que haremos). Entonces, dado un número entero positivo n
, crea una bandeja de teflón. La sección "panorámica" de la panorámica es un octágono con cada uno de sus lados que consiste en n
caracteres, que variarán dependiendo de qué lado sea, excepto los lados que usan el carácter {
o }
. Esos lados tendrán una longitud de carácter de uno siempre. Si n
es 1:
_
/ \
{ }
\_/
Como se puede ver, cada lado se compone de un carácter (o bien {
, }
, /
, \
, o _
). Si n
es 2:
__
/ \
/ \
{ }
\ /
\__/
El identificador se creará con n+3
=
's y finalizará con un cero ( 0
).
Si n
es uno:
_
/ \
{ }====0
\_/
n
es 2:
__
/ \
/ \
{ }=====0
\ /
\__/
n
es 3:
___
/ \
/ \
/ \
{ }======0
\ /
\ /
\___/
Si n
es 4:
____
/ \
/ \
/ \
/ \
{ }=======0
\ /
\ /
\ /
\____/
Reglas y Criterio
No se permiten lagunas
La manija sale del lado derecho (el lado hecho del
}
personaje)La entrada es un entero positivo
Si el lado no consta de ninguno
{
o}
(no del lado izquierdo o derecho), consistirán en losn
caracteres respectivos:_ / \ Left side { } Right side \_/
- Como se trata de código de golf , ¡el código más corto gana!
O
lugar de0
la perilla?Respuestas:
Carbón ,
4138363028 bytesGracias a @Emigna por ayudar a guardar dos bytes, gracias a @ ASCII-only por guardar seis bytes, y gracias a @Neil por guardar otros dos bytes.
Pruébalo en línea!
Explicación:
fuente
Nη↖ηG←η_↙↙η{↓↘ηM↑×η_↗η}×⁺³η=P0
Nη↙η↑←×_η↖η↗{↗η×_η↓↘η}×=⁺³η0
(1 byte guardado al imprimir la mitad inferior de la bandeja haciendo primero loM
innecesario y 1 byte guardado invirtiendo los parámetros para×
hacer loP
innecesario.)JavaScript (ES6), 171 bytes
Toda la bandeja de
pizzaes muy repetitiva, por lo que la función r (diseñada como un literal de plantilla etiquetado) repite el primer carácter de su entrada n veces. Esto maneja la parte superior y media y las líneas de la sartén. El resto se repite reemplazando una cadena de espacios en blanco; las subvenciones$`
y$'
corresponden automáticamente a un número creciente y decreciente de espacios en blanco, lo que coloca el/
y\
apropiadamente. Finalmente, los_
s se completan en la última línea, ya que es sutilmente diferente de la segunda línea a ese respecto.fuente
JavaScript + HTML,
575 bytes (solo 451 bytes JS)376 bytes (solo 482 bytes JS)No es un enfoque complicado: varias concatenaciones de cuerdas que utilizan condiciones para las cinco partes diferentes de la bandeja: las líneas superior, inferior y media y las mitades superior e inferior.
Acorté tanto como pude, pero era el límite con este método.
EDITAR: no lo fue - adicionalmente jugado por @ programmer5000
fuente
PHP, 174 bytes
Toma entrada de STDIN; ejecutarlo
-nR
o probarlo en línea .Descompostura
fuente
Python 3, 196 bytes
Utilicé algunas variables para acortar el código, pero en su mayoría es sencillo. Aquí hay una versión más larga y más legible:
Editar: cambiado para leer n desde stdin, 181 → 196 bytes
fuente
Python 2 ,
180178 bytesPruébalo en línea!
fuente
Python 2.7,
194195191187185 bytesPruébalo en línea!
Abierto para editar sugerencias para hacerlo más pequeño. :)
Edición 1: +1 byte - Créditos a ElPedro por señalar un error en el código, lo que lo hizo 1 byte más largo.
Edición 2: -4 bytes - Créditos a piyush-ravi para eliminar argumentos innecesarios .
Edición 3: -4 bytes - ¿Cómo no vi eso? :PAG
Edición 4: -2 bytes - Reemplazar '\ n' con ';'
fuente
PowerShell , 165 bytes
Pruébalo en línea!
Toma entrada
$n
, establece$a
en un montón de espacios,$b
en un montón de guiones bajos y una cadena concatena eso con un espacio. Eso queda en la tubería.Bucles de
$n
abajo a1
. Si$n=1
, esto solo se ejecutará una vez. Cada iteración hacemos una cadena de concatenación de espacios, a/
, más espacios con contador$i
y a\
. Todo eso queda en la tubería.Luego viene la parte media con el asa, que casualmente tiene
$a*3
espacios en el medio, y$n+3
=
signos, luego a0
. Eso queda en la tubería.Si
$n
es mayor que1
, entonces$n-1
es verdadero, por lo que ingresamos el condicional, donde giramos en la otra dirección para formar el fondo de la bandeja. Si$n=1
, entonces no necesitamos esta porción debido a cómo funcionan las líneas. Todo eso queda en la tubería. Terminamos con los espacios y subraya con el$a\$b/
fondo de la sartén.Todas esas cadenas de la canalización se envían por vía implícita
Write-Output
que las imprime con nuevas líneas entre los elementos.fuente
JavaScript + HTML - 346 bytes
JavaScript: 314 bytes, HTML: 32 bytes
Sin golf
fuente
C, 249 bytes
Pruébalo en línea
fuente