Observe que isso não é o mesmo que Imprimir o alfabeto quatro vezes .
Esta tarefa é escrever um programa para gerar quatro cópias de cada letra do alfabeto inglês, uma letra por linha, na saída padrão:
A
A
A
A
B
B
B
B
etc.
A saída deve incluir novas linhas após cada letra.
Letras maiúsculas sem saída extra são preferidas; no entanto, letras minúsculas e / ou espaços em branco extras são aceitáveis se a capitalização / remoção prolongar sua solução.
EDITADO PARA ADICIONAR: A solução deve estar completa o suficiente para ser executada. Eu deveria conseguir invocar uma implementação do idioma, colar o código da resposta e obter resultados, sem digitar nenhum código adicional.
A questão acima sobre integridade surgiu no contexto de uma solução C. Certamente deve haver uma regra ou convenção permanente sobre isso em um site de golfe com código? Nesse caso, terei prazer em ceder às diretrizes da comunidade. Mas esta é a minha opinião:
No que diz respeito especificamente ao C, você precisa incluir (e contar) o
main(){
... em}
torno do código, pois ele não será compilado de outra forma. Os avisos porque não existem#include <stdio.h>
são bons, desde que o código ainda seja compilado. Em geral, uma linguagem compilada requer uma unidade compilável.Uma expressão simples que produz os resultados desejados é aceitável se houver uma maneira de executar a expressão diretamente; por exemplo, se o idioma tiver um REPL. Portanto, você pode enviar o Haskell sem a
main=
condição de que ele realmente funcione conforme escrito, por exemplo, noghci
prompt. Mas como isso significa colocarlet
suas declarações, pode ser uma vitória líquida manter orunhaskell
formato.Da mesma forma, os
awk
scripts devem estar nos blocosBEGIN
(ouEND
, com a suposição de que stdin está anexado/dev/null
), já que não estamos processando nenhuma entrada.
etc.
fonte
Respostas:
APL (5)
Formato de matriz (
⍪
) de 4 réplicas (4/
) do alfabeto (⎕A
).fonte
Python - 37
i
vai de 0 a 104; é dividido por quatro e adicionado ao valor ascii paraA
, e o caractere resultante é impresso.fonte
3/4
é 0, enquanto3.0/4.0
é 0,75;range()
gera números inteiros.for i in range(104):print(chr(i//4+65))
R,
302827Versão anterior com 30 bytes:
fonte
1
vez de""
especificar stdoutwrite
também, o que salva outro byte.C, 59
Eu envio isso, uma resposta longa e não competitiva, simplesmente porque ainda não vejo um envio em C. E isso me deixa triste. : - /
MAIS TARDE: Adota o @moala por fazer uma versão int "/ 4" disso, economizando 13 caracteres!
fonte
J:
1813Ainda estou bem instável com J, então isso provavelmente poderia ser melhorado
fonte
#
) em vez de divisão assim:4#u:65+i.26 1
. Além disso,~
alterna os argumentos de uma função; portanto, se você se encontrar fazendo(expression) F value
, poderá substituí-lo porvalue F~ expression
para salvar um caractere.4#65{26,.\a.
por 12 bytes.Ruby, 23
Todo o crédito para @manatwork - votou positivamente no seu comentário, não neste. :)
fonte
puts [*?A..?Z].map{|i|[i]*4}
ouputs ([*?A..?Z]*4).sort
, para que as letras sejam ordenadas como no exemplo.puts (?A..?Z).map{|i|[i]*4}
é um personagem mais curto. Você pode ligarmap
diretamente em um intervalo, para não precisar do splat nesse caso.PowerShell:
3223Código de golfe:
Passo a passo:
[char[]](
...)
pega uma matriz de objetos e os converte em caracteres ASCII.65..90
são os códigos ASCII para AZ.*4
repete a série 4 vezes.|Sort
classifica a saída.Nota:
Se você quiser que isso seja gravado em um arquivo, basta jogar
>
, seguido por um nome de arquivo, no final.fonte
Haskell, 46
fonte
putStr$['A'..'Z']>>=("golf">>).(:"\n")
salva 8 bitsBefunge 98-18
Funciona armazenando um número e terminando quando atingir 104. Imprime o caractere correspondente do alfabeto para o número dividido por 4, seguido por uma nova linha. Mas se eu não precisar adicionar uma nova linha após cada letra, serão 16 caracteres:
Pode ser reduzido se eu conseguir imprimir mais caracteres (ou seja, todos eles quatro vezes) (
76 caracteres, até funciona no Befunge 93):Com nova linha:
fonte
GolfScript:
1715 caracteresfonte
Perl 5, 21
fonte
C,
46444346:44:44 também:
Graças a @marinus, 43:
Devo adicionar uma recompensa por chegar aos 42? :)
fonte
>>2
por/4
.Java: 56
edit: alterado de 'print' para 'println'
fonte
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.
Eu acho que a sua solução viola essa condição #Adiante, 37
fonte
+
.Na verdade, 6 bytes
Experimente aqui!
Explicação
4 bytes com letras minúsculas e sem nova linha:
fonte
Código de máquina x86 de 16 bits MS-DOS COM, 25 bytes
Em hexadecimal:
Este é um programa completo do MS-DOS .COM. Copie a sequência de bytes para o arquivo com extensão .com e execute-a no DOSBox
Desmontagem:
fonte
BrainF * ,
7960fonte
+++++++++++++[>+>+++++>++<<<-]>--->>[<.<.>.<.>.<.>.<.>+>-]
AWK, 48
Vamos tentar com AWK ...
Como sugerido por manatwork , podemos nos livrar de 2 caracteres
AWK, 46 (Editar)
AWK, 40 (editando o código do MarkReed )
fonte
END{for(i=104;i--;s+=0==i%4)printf"%c\n",s+65}
.END
bloco significa que ele requer um fluxo de entrada (mesmo que seja/dev/null
) para funcionar. Isso modifica a contagem de caracteres? Enfim,BEGIN{for(;++i<104;){printf"%c\n",i/4+65}}
é 5 caracteres mais curtos.END
exigência do padrão para um fluxo de entrada ...PowerShell, 21
Uma abordagem ligeiramente diferente da de Iszi. E mais curto :-)
fonte
C # LINQ
115 bytes110 bytesfonte
05AB1E, 6 bytes
Explicação:
Sem novas linhas, 4 bytes
Experimente online!
fonte
Gelatina , 5 bytes (não concorrente?)
Experimente online!
Explicação:
fonte
Perl 6, 32
fonte
Tela , 5 bytes
Experimente aqui!
Explicação:Com
¶
substituído por\n
após a impressão.fonte
Kotlin ,
6659 bytesSalve 7 bytes removendo o loop.
Experimente online!
fonte
brainfuck , 48 bytes
Experimente online!
Imprime em letras minúsculas, separadas por retornos de carro. Usa quebra automática de células de 8 bits, bem como células deixadas na origem, embora você possa acrescentar a
>
para contrariar a última.fonte
Bash: 24 caracteres
fonte
Dc: 35 caracteres
fonte
Scala, 42
fonte
Julia,
39, 36fonte