Introducción
Pareidolia : del griego antiguo; παρα ( para , "concurrente, junto") + εἴδωλον ( eídōlon , "imagen"). La tendencia a interpretar un estímulo vago como algo conocido por el observador, como interpretar las marcas en Marte como canales, ver formas en las nubes o escuchar mensajes ocultos en la música. Fuente: Wiktionary .
Por ejemplo:
Paralogia : del griego antiguo; παρα ( para , "concurrente, junto") + λόγος ( lógos , "discurso, oración, palabra, ..."). La tendencia a percibir palabras en secuencias arbitrarias de caracteres, como en los programas de golf de código. Fuente: sí, lo inventé (en realidad la palabra significa algo más , como lo señaló @ Martin).
Por ejemplo:
df4$/H)hEy_^p2\
jtK2$)look|x1$
Desafío
Escriba un programa que tome un número entero positivo como entrada, produzca un número entero como salida e incluya una palabra en inglés como parte del código. La relación entrada-salida debe corresponder a una secuencia de enteros que se puede encontrar en OEIS .
Reglas
- Solo se permiten palabras de esta lista . Esto es ciertamente arbitrario, pero es esencial que todos estemos de acuerdo en qué palabras se aceptan; y en ese sentido, esta lista es probablemente tan buena como cualquier otra.
- Las palabras deben formarse concatenando al menos dos nombres de funciones o declaraciones. Si su idioma, por ejemplo, tiene una función llamada
correlation
, no se puede usar como está. La concatenación debe ser estricta: no deben aparecer otros símbolos entre las partes de la palabra. Por ejemplo,bro~ken
no contaría como una palabra. - El caso no es importante: ambos
valid
yvaLiD
son aceptables. - Las palabras dentro de las cadenas no cuentan. Las letras que componen la palabra deben ser funciones o declaraciones en el idioma de elección, es decir, algo que realmente se ejecuta . Por ejemplo, no se permitiría el siguiente código:,
'deoxyribonucleic'~1
donde'...'
es una cadena,~
descarta el contenido anterior y1
solo imprime el número1
. - Cada letra de la palabra debería ser necesaria . Esto significa que eliminar una sola letra de la palabra debería cambiar la relación entrada-salida. Eso incluye generar una secuencia diferente, o emitir cualquier otra cosa, o no producir ninguna salida, o causar un error.
- Cualquier número entero positivo debe ser aceptable como entrada, y debe producir una salida, excepto por el tipo de datos o las restricciones de memoria.
- Las salidas correspondientes a los insumos
1
,2
,3
, ... deben corresponder a una secuencia que aparece en OEIS . No se debe producir ninguna otra salida; solo un número entero, posiblemente con espacios en blanco al final o al final. - La entrada y la salida pueden ser argumentos de función o stdin / stdout.
Puntuación
La puntuación se calcula como la longitud total del código menos el doble de la longitud de la palabra más larga, en caracteres. O, de manera equivalente, el número de caracteres que no están en la palabra más larga menos la longitud de la palabra más larga.
La puntuación más baja gana.
Ejemplos
Considere un lenguaje postfix imaginario que tenga estas funciones c
:: ingrese un número; At
: calcular cuadrado; $
: agregar 1.
cAt
sería un programa válido (sus corresponde a la secuencia de salida 1
, 4
, 9
, ..., que es A000290 ), y tendría puntuación de -3.
cAt$
también sería válido (secuencia 2
, 5
, 10
, ..., que es A002522 ), la puntuación de -2.
c$At
no sería válido, porque la única palabra aquí es "At" y es producida por una sola función o declaración.