Tenga en cuenta que esto no es lo mismo que Imprimir el alfabeto cuatro veces .
Esta tarea es escribir un programa para generar cuatro copias de cada letra del alfabeto inglés, una letra por línea, en la salida estándar:
A
A
A
A
B
B
B
B
etc.
El resultado debe incluir nuevas líneas después de cada letra.
Se prefieren letras mayúsculas sin salida adicional; sin embargo, las letras minúsculas y / o los espacios en blanco adicionales son aceptables si las mayúsculas / despojo alargarían su solución.
EDITADO PARA AGREGAR: La solución debe ser lo suficientemente completa como para ejecutarse. Debería poder invocar una implementación del lenguaje, pegar el código de la respuesta y obtener resultados, sin escribir ningún código adicional.
La pregunta anterior de completitud surgió en el contexto de una solución C. ¿Seguramente debe haber una regla o convención permanente sobre esto en un sitio de golf de código? Si es así, con gusto cederé a las pautas de la comunidad. Pero esta es mi opinión:
Con respecto a C específicamente, debe incluir (y contar) el
main(){
...}
alrededor del código, ya que de lo contrario no se compilará. Las advertencias porque no hay#include <stdio.h>
están bien siempre y cuando el código aún se compile. En general, un lenguaje compilado requiere una unidad compilable.Una expresión desnuda que produce los resultados deseados es aceptable si hay una manera de ejecutar la expresión directamente; por ejemplo, si el idioma tiene un REPL. Por lo tanto, puede enviar Haskell sin una
main=
, siempre y cuando realmente funcione como está escrito, por ejemplo, en elghci
indicador. Pero dado que eso significa ponerlet
sus declaraciones, puede ser una ganancia neta quedarse con elrunhaskell
formato.Del mismo modo, los
awk
scripts deben estar en bloquesBEGIN
(oEND
con el supuesto de que stdin está adjunto/dev/null
) ya que no estamos procesando ninguna entrada.
etc.
fuente
Respuestas:
APL (5)
Formato matricial (
⍪
) de 4 réplicas (4/
) del alfabeto (⎕A
).fuente
Python - 37
i
va de 0 a 104; se divide entre cuatro y se agrega al valor ascii paraA
, y se imprime el carácter resultante.fuente
3/4
es 0, mientras que3.0/4.0
es 0,75;range()
genera enteros.for i in range(104):print(chr(i//4+65))
R,
302827Versión anterior con 30 bytes:
fuente
1
lugar de""
especificar stdoutwrite
también, lo que guarda otro byte.C, 59
Presento esto, una respuesta poco competitiva, simplemente porque todavía no veo una presentación en C. Y eso me pone triste. : - /
MÁS TARDE: ¡Apoya a @moala por hacer una versión int "/ 4" de esto, ahorrando 13 caracteres!
fuente
J:
1813Todavía estoy bastante tembloroso con J, por lo que esto probablemente podría mejorarse
fuente
#
) en lugar de la división, así:4#u:65+i.26 1
. Además,~
intercambia los argumentos de una función, por lo que si alguna vez te encuentras haciendo(expression) F value
eso, puedes reemplazarlo convalue F~ expression
para guardar un personaje.4#65{26,.\a.
por 12 bytes.Ruby, 23
Todo el crédito a @manatwork - votó su comentario, no esto. :)
fuente
puts [*?A..?Z].map{|i|[i]*4}
oputs ([*?A..?Z]*4).sort
, para que las letras se ordenen como en el ejemplo.puts (?A..?Z).map{|i|[i]*4}
es un personaje más corto. Puede llamarmap
directamente en un rango, por lo que no necesita el splat en este caso.PowerShell:
3223Código de golf:
Tutorial:
[char[]](
...)
toma una matriz de objetos y los convierte en caracteres ASCII.65..90
son los códigos ASCII para AZ.*4
repite la serie 4 veces.|Sort
ordena la salida.Nota:
Si desea que esto se escriba en un archivo, simplemente arroje
>
, seguido de un nombre de archivo, al final.fuente
Haskell, 46
fuente
putStr$['A'..'Z']>>=("golf">>).(:"\n")
ahorra 8 bitsBefunge 98-18
Funciona almacenando un número y terminando cuando llega a 104. Imprime el carácter correspondiente del alfabeto para el número dividido por 4, seguido de una nueva línea. Pero si no necesito agregar una nueva línea después de cada letra, entonces son 16 caracteres:
Se puede reducir si puedo imprimir más caracteres (es decir, todos ellos cuatro veces) (
76 caracteres, incluso funciona en Befunge 93):Con nueva línea:
fuente
GolfScript:
1715 caracteresfuente
Perl 5, 21
fuente
C,
46444346:44:44 también:
Gracias a @marinus, 43:
¿Debo agregar una recompensa por llegar a 42? :)
fuente
>>2
por/4
.Java: 56
editar: cambiado de 'print' a 'println'
fuente
The solution must be complete enough to execute. I should be able to invoke an implementation of the language, paste the code from the answer, and get results, without typing any additional code.
Creo que su solución viola esta condiciónAdelante, 37
fuente
+
.En realidad, 6 bytes
Pruébalo aquí!
Explicación
4 bytes con minúsculas y sin nueva línea:
fuente
Código de máquina x86 de 16 bits COM de MS-DOS, 25 bytes
En hexadecimal:
Este es un programa completo de MS-DOS .COM. Copie la secuencia de bytes al archivo con extensión .com y ejecútelo desde DOSBox
Desmontaje
fuente
BrainF * ,
7960fuente
+++++++++++++[>+>+++++>++<<<-]>--->>[<.<.>.<.>.<.>.<.>+>-]
AWK, 48
Vamos a probarlo con AWK ...
Como sugiere manatwork , podemos deshacernos de 2 caracteres
AWK, 46 (Editar)
AWK, 40 (editando el código de MarkReed )
fuente
END{for(i=104;i--;s+=0==i%4)printf"%c\n",s+65}
.END
bloque significa que requiere una secuencia de entrada (incluso si es/dev/null
) para funcionar. ¿Eso modifica el recuento de caracteres? De todos modos,BEGIN{for(;++i<104;){printf"%c\n",i/4+65}}
es 5 caracteres más corto.END
requisito del patrón para una secuencia de entrada ...PowerShell, 21
Un enfoque ligeramente diferente al de Iszi. Y más corto :-)
fuente
C # LINQ
115 Bytes110 Bytesfuente
05AB1E, 6 bytes
Explicación:
Sin saltos de línea, 4 bytes
Pruébalo en línea!
fuente
Jelly , 5 bytes (¿no compite?)
Pruébalo en línea!
Explicación:
fuente
Perl 6, 32
fuente
Lienzo , 5 bytes.
Pruébalo aquí!
Explicación:Con
¶
reemplazado por\n
al imprimir.fuente
Kotlin ,
6659 bytesAhorre 7 bytes eliminando para el bucle.
Pruébalo en línea!
fuente
brainfuck , 48 bytes
Pruébalo en línea!
Imprime en minúsculas, separadas por retornos de carro. Utiliza envolver celdas de 8 bits y celdas a la izquierda del origen, aunque puede anteponer a
>
para contrarrestar la última.fuente
Bash: 24 caracteres
fuente
Dc: 35 caracteres
fuente
Scala, 42
fuente
Julia,
39, 36fuente