Escolha sua palavra inglesa comum de 6 letras favorita que não tenha letras repetidas , como wombat
.
Escreva um programa em uma grade N × N de caracteres sem comentários, de modo que cada linha e coluna contenha todas as letras da sua palavra em minúsculas em qualquer ordem. O programa deve gerar uma definição de sua palavra em 36 caracteres ou mais .
Regras
- Saída para stdout. Não há entrada.
- Sua palavra deve estar no Dictionary.com e conter apenas az. Sem nomes próprios, sem acrônimos, sem abreviações, sem contrações.
- Seu programa e saída podem conter apenas caracteres ASCII imprimíveis (códigos hexadecimais 20 a 7E). (Isso não está contando as novas linhas necessárias na grade do programa.)
- Comentários são tudo o que o compilador ou intérprete tradicionalmente ignora. Você pode usar código que não contribui para a saída ou não é executado oficialmente.
- A definição de saída deve ser gramatical e precisa, mas certamente pode ser engraçada ou inteligente.
- Qualquer linha ou coluna que contenha pelo menos as seis letras únicas da sua palavra em minúsculas é válida. Diagonais não importam.
Pontuação
Este é um código de golfe, mas como todos os envios devem estar no mesmo formato quadrado, você pode simplesmente especificar sua pontuação com N. O N mais baixo vence e, é claro, um N abaixo de 6 é impossível. Em caso de empate, a resposta mais votada vence.
Exemplo
Se sua palavra era wombat
seu programa, seria assim (N = 7):
wombatD
ombatEw
mbatFwo
bat(wom
atWwomb
tBwomba
)wombat
Observe que todas as linhas e colunas possuem os caracteres w
o
m
b
a
t
.
A saída pode ser: (40 caracteres)
Cute short-legged Australian marsupials.
fonte
golfed
" e a definição"a description of this program's code"
(para qualquer pessoa que possa descobrir como fazer isso!).Respostas:
Perl - uvas - 11
edit: acidentalmente fiz estas 12 linhas ...
Resultado:
Atualizar!
Eu eliminei uma linha para diminuí-la para 11, mas tive que mudar a frase. Espero não ter cometido erros desta vez!
Resultado:
A saída é de 37 caracteres.
fonte
Javascript - ação - 15x15
"Definitivamente não é o mais curto, mas PEW PEW PEW." - James Bond
Link para a
saída jsfiddle (37 caracteres):
fonte
Antes 93, n = 13
Isso funciona redirecionando a string com
"v
e>"
. Isso funciona apenas quando o comprimento do lado e o comprimento da palavra são coprime e quando o comprimento do lado é maior que 11. No momento, ele funciona para a "palavra"vwombat
e, portanto, parawombat
.Saídas
Cute short-legged Australian marsupial
fonte
C (palavra: "localizador", N = 16)
Compilado com o GCC, com as opções
-Dfinder="" -Df="" -Di="" -Dn="" -Dd="" -De="" -Dr=""
.Ele produz
it's defined as a thing that can find other things
(50 caracteres). Acredito que segue todas as regras, mas fique à vontade para me dizer se há algum erro!fonte
"-Dfinder=main(){puts(it's defined as a thing that can find other things);}" -Dinderf=; -Dnderfi=; -Dderfin=; -Derfind=; -Dnderfi=;
GolfScript, N = 12
O exemplo do wombat codificado no GolfScript. Saída é
como indicado na pergunta. A parte interessante é que você pode usar a maioria das palavras e respostas e simplesmente inserir as letras correspondentes na solução, desde que você não produza um GolfScript embutido que seja muito raro
p
,n
sendo os óbvios. Todas as outras combinações levam a variáveis GolfScript válidas que não são ops por padrão.fonte
Befunge-98 (n = 12)
Eu escolhi o Kelvin porque tinha av. Saídas
kelvin is like celsius but it's lowe
fonte
Si temp
tem 29 caracteres, a menos que 36.;)k
e a coluna 9 está ausentee
.Python, n = 15
A palavra é "canoas"
Resultado:
fonte
canoes
lá. Fixo.Perl - repita - 11
Resultado:
Olhando para trás, talvez eu devesse ter feito disso um loop.
fonte
e
por linha, então achei que seria melhor publicá-la.Rubi ,
haters
, n = 10Após horas de tentativas manuais, escrevendo um programa gerador e ajustando parâmetros, finalmente encontrei uma solução para N = 10!
Saídas
Haters nurse hate in hardest hearts.
, exatamente 36 caracteres. Experimente online!Eu escolhi o Ruby porque suas variáveis não precisam
$
(Perl) e as seqüências de citação única podem conter novas linhas (Python). O fato de otr
método usar duas das letras da minha palavra foi um bônus inesperado. O núcleo do programa é direto:Obter todas as cartas para alinhar, é claro, não era simples. Passei por várias variações na mesma estrutura e aprendi algumas coisas sobre Ruby no processo (
tr
não precisa de parênteses e?\s
é outra maneira de conseguir um espaço). Havia muitos becos sem saída e vários falsos positivos. E então ... sucesso!Aqui está um resumo do meu programa gerador de hackers, se alguém estiver interessado.
fonte
Script de golfe (n = 10)
Meu primeiro golfscript! Imprime
kelvin is like celsius but it's lowe
fonte
GolfScript, 13x13
Não é o menor ...
... mas ...
(Ter as quebras de linha entre as palavras é intencional, porque, caso contrário, eu teria espaços em branco à esquerda ou à direita que pareceriam menos quadrados.)
fonte
Python, N = 11
A palavra é "pai". Este código não é bonito, mas funciona.
Resultado:
parent: a person that made a person
Edit: De alguma forma, eu perdi o fato de que as colunas também devem conter a palavra. Em retrospecto, um idioma que inclui caracteres finais como parte do idioma não era adequado para esse quebra-cabeça.
fonte
parent
. O primeiro, por exemplo, não possui uma
.p
está ausente em 6 e 8a
.: 4, 6, 7, 11r
.: 4, 10, 11e
.: 4, 5, 8, 9, 11n
.: 3, 5, 7, 11t
.: 1, 3, 6, 8.Pip , n = 14 (não competitivo)
A linguagem é mais nova que a pergunta. A palavra é
quines
. 1 1Produz a seguinte definição (reconhecidamente incompleta):
Experimente online!
A parte significativa do código é executada assim:
O restante do código é no-ops arbitrário. A principal dificuldade nas seções "preenchedor" nunca foi avaliar
q
, pois solicitará ao usuário uma linha de entrada (não é um problema no TIO, mas eu queria corrigi-lo em todos os ambientes). Usei operadores lógicos de curto-circuito|
e&
, e ternários?
, para impedirq
a avaliação.1 Dictionary.com tem uma entrada para quine , com uma seção sobre o significado da programação na parte inferior. Como "quine" é um substantivo contável, eu argumentaria que "quines" é uma palavra válida.
fonte
Javascript, N = 8
Minha palavra é alerta .
Meu código gera a definição da função de alerta javascript várias vezes. A definição de alerta do Javascript é "function alert () {[código nativo]}".
Somente as três primeiras linhas de código realmente contribuem para a saída. As últimas 5 linhas são erros de sintaxe, mas as regras originais afirmam que nem todo o código deve ser executado enquanto a saída estiver correta.
Aqui está um link para o violino: http://jsfiddle.net/tze76pum/
fonte