... me ayudarás a inmortalizarlo?
He tenido esta almohada hace unos años, y aparentemente es hora de deshacerse de ella. ¿Puede escribir una función o programa que pueda traer conmigo y usar para recrear esta almohada cuando quiera recordar un poco?
Debe funcionar sin argumentos de entrada.
El resultado debería verse exactamente así (las líneas y espacios finales están bien).
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////
Este es el código de golf, por lo que gana el código más corto en bytes.
Tabla de clasificación
code-golf
ascii-art
kolmogorov-complexity
Stewie Griffin
fuente
fuente
Respuestas:
05AB1E ,
1815 bytesCódigo:
Explicación:
Utiliza la codificación CP-1252 . Pruébalo en línea!
fuente
/// , 116 bytes
Pruébalo en línea!
Editar : los
\\\\\\\\\\\\\\\/
y\\\\\\\\\\\\\\\\
son en realidad un solo / y \, respectivamente.Editar : -3 porque pensé en eliminarlo
i
. Creo que esto no puede ser más golfizado.fuente
Python 2, 49 bytes
Gracias a Mitch Schwartz por este método limpio que guarda un byte. La idea es imprimir cuatro líneas de
('\\'*5+'/'*5)*6
, intercambiar los roles de barra diagonal y barra diagonal inversa, y luego hacer todo el proceso 6 veces. Los dos caracteres se almacenan ena
yb
, y se intercambian comoa,b=b,a
. El doble bucle es doble al generar la siguiente cadena de código y luego ejecutarla conexec
:50 bytes:
Hace la cadena de línea, la imprime cuatro veces y luego la invierte, luego lo hace 6 veces. Lo hace generando el siguiente código y luego ejecutándolo:
Estas son algunas de las iteraciones de mi golf:
fuente
05AB1E, 15 bytes
Pruébalo en línea!
Explicación:
Utiliza la codificación CP-1252 .
fuente
JavaScript (ES6),
686058 bytesUna función recursiva. Varias optimizaciones inspiradas en la respuesta chocochaos .
Manifestación
Mostrar fragmento de código
fuente
&1
y guardar dos bytesn < 480
. Paran >= 480
, necesitaríamos paréntesis:(n/240^n/5)&1
.Chicle , 30 bytes
Respuesta obligatoria de Bubblegum.
fuente
Haskell,
777057 bytesBoring
concat
s yreplicate
s en lugar de jugar con los senos. Viejo era:fuente
Brainfuck, 140 bytes
:-RE
fuente
Python 2,
8680767473 bytesProbablemente podría jugar un poco más, pero es un comienzo.
Editar
Guardado 6 al eliminar algunos corchetes innecesarios
Otros 4 usando una sola cadena y luego invirtiéndola
Gracias @Adnan. Anoche tuve una noche tarde y todavía no estoy completamente despierto: p
-1 moviendo
*24
a la variable en lugar de usarla dos vecesfuente
*6*4
es lo mismo que*24
? : pBrainfuck, 149 bytes
El mejor intérprete EVAR!
Esto utiliza 6 celdas (sin envoltura, sin módulo). Aquí están:
Las
00
celdas se usan para los contadores de bucle. Aquí, los contadores se completan con valores iniciales:El contador más a la izquierda es para el bucle más interno (sí, uso bucles anidados de profundidad 3). Tenga en cuenta que la cuarta celda (
04
contador) se usa dos veces, una/////\\\\\...
vez y una vez\\\\\/////...
cada vez.0A
,2F
y5C
son los caracteres\n
,/
y\
, respectivamente.fuente
Python 2.7 66 -> 56 -> 55 bytes
nuevo en el código de golf
Gracias Stewie Griffin
Olvidé un espacio en blanco tonto;)
fuente
d
ye
tal vez más. No he probado esto, pero debe ser estrecha:print(4*c+4*(6*b+"\n"))*3
. Son 5 bytes menos.a="/"*5+"\\"*5;print(4*(6*a+"\n")+4*(6*a[::-1]+"\n"))*3
Brainfuck, 179 bytes
Sé que este no es el mejor puntaje en el hilo, pero quería probar brainfuck y probarlo.
Editar: debo haber cometido un error al copiar el texto. Esta versión debería funcionar
fuente
/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\
cuatro veces, luego infinito\
.Dyalog APL , 24 bytes
fuente
'/\'[4⌿5/2|+/¨⍳6 12]
(requiere⎕io←0
)Pyke, 16 bytes
Después de la actualización de hoy que permitió
"
en literales de cadena, 17 bytesPruébalo aquí!
fuente
MATL ,
1816 bytesPruébalo en línea!
Explicación
fuente
Pyth, 22 bytes
Probarlo aquí .
Explicación:
Lo siento si la explicación es un poco difícil de entender, pero fue un poco complicada.
fuente
V ,
2221 bytesEditar Un byte ganado, gracias @DjMcMayhem:
Los cambios son:
Y4P
->4Ä
Use la línea duplicada V en lugar del comando integrado Vim (esto agregará una línea en blanco al final del párrafo)3äG
->3ä}
Duplicar el párrafo en lugar del búfer completo (para evitar la línea en blanco generada por el cambio anterior)Publicación original
Pruébalo en línea
Descompuesto así:
fuente
5á\5á/05ä$5Ä5x$p4Ä3äG
es decir, sustituirY4P
por4Ä
, pero por una razón que no entiendo que copia una línea en blanco adicional ... Si es posible ilumíneme sobre esto sería bueno. Además, si encuentro algo de tiempo libre, con gusto contribuiría al idioma (especialmente el número 4 )Ä
es sinónimo dedd
noY
. Esto generalmente no es un problema, pero causa algunos problemas si el búfer tiene solo una línea o si está en la última línea.3äG
con3ä}
ya que no será un tirón ese último salto de línea. v.tryitonline.net/…Jalea ,
1716 bytesPruébalo en línea!
Gracias a 6710 (millas) por -1 byte.
fuente
⁾/\ẋ6Wẋ4;U$ẋ3x5Y
Y
s!En realidad , 21 bytes
Pruébalo en línea!
-1 byte de Adnan
Explicación:
fuente
"/\"5*S
para crear la cadena de barras?Ruby, 46 bytes
Crea la siguiente cadena (70 caracteres, un conjunto más de lo necesario) luego alterna entre muestrear caracteres
0..59
y5..64
de ella.código y salida
error interesante (un 7 en lugar de un 5)
fuente
APL, 30 bytes
Soy bastante nuevo en APL (estoy usando APLX, pero esto debería funcionar en la mayoría de las implementaciones de APL), por lo que esta es una solución bastante simplista.
Explicación:
fuente
C,
6661 bytes5 bytes guardados gracias a orlp.
Impresión directa de caracteres por caracteres. 61 caracteres por fila, el último es nueva línea (ASCII 10) y los otros alternan entre
/
47 y\
92.fuente
i;f(){for(i=1463;i;)putchar(i--%61?i%61/5+i/244&1?92:47:10);}
.i--
pero no tuve tiempo para buscarlo.Python 2, 63 bytes
Para Python 3, haga esto (65 bytes):
fuente
/////\\\\\/////...
cuatro veces, separadas por nuevas líneasBrainfuck auto modificable , 91 bytes
Pruébalo en línea!
Igual que mi respuesta brainfuck , pero usa los 3 últimos caracteres del código fuente en lugar de generarlos en tiempo de ejecución.
fuente
J,
312819 bytesUso
fuente
Octava,
5048 bytesFunción anónima:
Puedes probar en línea aquí . Simplemente ejecute el comando anterior y luego ejecute la función con
ans()
.Esencialmente, esto crea una matriz del valor 47 que es 4 alto y 5 ancho. Luego crea una segunda matriz de valor 92 que es del mismo tamaño.
Las dos matrices se concatenan en un tablero de ajedrez
[A B;B A]
. El también''
se concatena para forzar la conversión a cadenas de caracteres.Finalmente, toda la matriz se replica 3 veces hacia abajo y 6 veces para formar el tamaño final.
fuente
ans=
antes de la almohada. Tenerlo en la función evita esto, ya que se espera que devuelva la respuesta a una variable en lugar de mostrarla.ans()
). Lo cual no tiene sentido, ya queans()
todavía se imprimeans
cuando se ejecuta.ans()
es un identificador de función invocable, por lo que no es necesario asignarlo a algo con, por ejemploa=@...
, porque está implícitamente asignadoans
como un identificador. Además, no se imprimeans=
cuando se ejecuta a menos que se lo pidas específicamente al no hacer nada con el valor devuelto y no agregar un;
. Si lo hicieradisp(ans())
, solo imprimiría la salida exacta (noans=
). Pero sí, la advertencia es molesta, sin embargo, eso no sucedió anteriormente, por lo que no es un idioma específico, sino un intérprete específico.disp(ans())
antes de obtener su salida, entonces necesita agregar 12 bytes a su respuesta. Mi propia opinión es que esta es la forma en que la octava presenta su resultado y está bien.PHP,
7369 bytesManifestación
http://ideone.com/z7N1Md
fuente
for($s='/\\';$i<1440;$i++)echo$i%60<1?'\n':'',$s[($i/5+($i/240|0))%2];
(reemplace el\n
con una nueva línea real).echo
no es una función, por lo tanto, no necesita paréntesis. Además,echo
puede recibir múltiples valores, separados por una coma. Esto realmente elimina la necesidad de esos paréntesis. Y luego, dentro de su$s[...]
, el cálculo más externo tampoco necesita paréntesis, ya que está contenido dentro[]
. Usar$s[($i/5+($i/240|0))%2]
tiene el mismo efecto y es más corto.echo
yprint
acepta múltiples parámetros. Peroprint
requiere paréntesis con múltiples parámetros cuando se usa en el incremento, condición o asignación de un bucle.<1
, cambiando las expresionesecho$i%60?'':' ',
, nueva línea como expresión 3 en el ternario.Java 7, 120 bytes
Empujó todo en un bucle. Beats Brainfuck, misión cumplida.
Véalo en línea: https://ideone.com/pZjma3
fuente
Vim,
4427 bytesEDITAR Gran cantidad de bytes ganados gracias a @DrMcMoylex:
Respuesta original:
No estoy seguro de que realmente se ajuste a las reglas de este sitio, pero pensé que fue divertido probarlo:
Que se puede descomponer así:
fuente
5i/<esc>5a\<esc>0y$5P
al principio para guardar 9 bytes.Brainfuck, 168 bytes
fuente