Introdução
Pareidolia : do grego antigo; παρα ( para , "simultâneo, ao lado") + εἴδωλον ( eídōlon , "imagem"). A tendência de interpretar um estímulo vago como algo conhecido pelo observador, como interpretar marcas em Marte como canais, ver formas nas nuvens ou ouvir mensagens ocultas na música. Fonte: Wikcionário .
Por exemplo:
Paralogia : do grego antigo; παρα ( para , “em simultâneo, ao lado de”) + λόγος ( lógos “discurso, discurso, palavra, ...”). A tendência de perceber palavras em seqüências arbitrárias de caracteres, como em programas de código de golfe. Fonte: sim, eu inventei isso (na verdade, a palavra significa outra coisa , como apontado por @Martin).
Por exemplo:
df4$/H)hEy_^p2\
jtK2$)look|x1$
Desafio
Escreva um programa que use um número inteiro positivo como entrada, produza um número inteiro como saída e inclua uma palavra em inglês como parte do código. O relacionamento de entrada e saída deve corresponder a uma sequência inteira que pode ser encontrada no OEIS .
Regras
- Apenas palavras desta lista são permitidas. Isso é admitidamente arbitrário, mas é essencial que todos concordemos com quais palavras são aceitas; e, nesse sentido, esta lista é provavelmente tão boa quanto qualquer outra.
- As palavras precisam ser formadas concatenando pelo menos dois nomes ou instruções de função. Se o seu idioma, por exemplo, tem uma função chamada,
correlation
ele não pode ser usado como está. A concatenação deve ser rigorosa: nenhum outro símbolo deve aparecer entre as partes da palavra. Por exemplo,bro~ken
não contaria como uma palavra. - O caso não é importante: ambos
valid
evaLiD
são aceitáveis. - Palavras dentro de strings não contam. As letras que compõem a palavra precisam ser funções ou declarações no idioma de escolha, ou seja, algo que é realmente executado . Por exemplo, o código a seguir não seria permitido:,
'deoxyribonucleic'~1
onde'...'
é uma string,~
descarta o conteúdo anterior e1
apenas imprime o número1
. - Toda letra da palavra deve ser necessária . Isso significa que a remoção de uma única letra da palavra deve alterar a relação entrada-saída. Isso inclui a saída de uma sequência diferente ou a saída de qualquer outra coisa, ou a produção de nenhuma saída ou a ocorrência de um erro.
- Qualquer número inteiro positivo deve ser aceitável como entrada e produzir uma saída, exceto para restrições de tipo de dados ou memória.
- As saídas correspondentes a entradas
1
,2
,3
, ... deve corresponder a uma sequência em que aparecem OEIS . Nenhuma outra saída deve ser produzida; apenas um número inteiro, possivelmente com espaço em branco à direita ou à esquerda. - Entrada e saída podem ser argumentos de função ou stdin / stdout.
Ponto
A pontuação é calculada como o comprimento total do código menos o dobro da palavra mais longa, em caracteres. Ou equivalente, número de caracteres que não estão na palavra mais longa menos o comprimento da palavra mais longa.
Menor pontuação ganha.
Exemplos
Considere uma linguagem postfix imaginária que possua estas funções c
:: insira um número; At
: quadrado de computação; $
: adicione 1.
cAt
seria um programa válido (seus corresponde saída para a seqüência 1
, 4
, 9
, ..., que é A000290 ), e teria pontuação -3.
cAt$
também seria válido (seqüência 2
, 5
, 10
, ..., que é A002522 ), com pontuação de -2.
c$At
não seria válido, porque a única palavra aqui é "At" e é produzida por uma única função ou instrução.