introduzione
Pareidolia : dal greco antico; παρα ( para , “concorrente, a fianco”) + εἴδωλον ( eídōlon , “immagine”). La tendenza a interpretare un vago stimolo come qualcosa di noto all'osservatore, come interpretare segni su Marte come canali, vedere forme nelle nuvole o ascoltare messaggi nascosti nella musica. Fonte: Wikizionario .
Per esempio:
Paralogia : dal greco antico; παρα ( para , “concorrente, a fianco”) + λόγος ( lógos , “discorso, orazione, parola, ...”). La tendenza a percepire le parole in sequenze arbitrarie di personaggi, come nei programmi di golf del codice. Fonte: sì, l'ho inventato (in realtà la parola significa qualcos'altro inventato , come sottolineato da @Martin).
Per esempio:
df4$/H)hEy_^p2\
jtK2$)look|x1$
Sfida
Scrivi un programma che accetta un intero positivo come input, produce un intero come output e include una parola inglese come parte del codice. La relazione input-output deve corrispondere a una sequenza intera che può essere trovata in OEIS .
Regole
- Solo parole da questo elenco consentite . Questo è certamente arbitrario, ma è essenziale che siamo tutti d'accordo su quali parole sono accettate; e al riguardo questo elenco è probabilmente buono come un altro.
- Le parole devono essere formate concatenando almeno due nomi o istruzioni di funzioni. Se la tua lingua, ad esempio, ha una funzione chiamata,
correlation
non può essere utilizzata così com'è. La concatenazione deve essere rigorosa: nessun altro simbolo dovrebbe apparire tra le parti della parola. Ad esempio,bro~ken
non conta come una parola. - Il caso non è importante: entrambi
valid
evaLiD
sono accettabili. - Le parole nelle stringhe non contano. Le lettere che compongono la parola devono essere funzioni o dichiarazioni nella lingua prescelta, cioè qualcosa che viene effettivamente eseguito . Ad esempio, il seguente codice non sarebbe consentito:,
'deoxyribonucleic'~1
dove'...'
è una stringa,~
scarta il contenuto precedente e1
stampa solo il numero1
. - Ogni lettera della parola dovrebbe essere necessaria . Ciò significa che la rimozione di una singola lettera dalla parola dovrebbe modificare la relazione input-output. Ciò include l'output di una sequenza diversa, o l'output di qualsiasi altra cosa (s), o la produzione di nessun output o la causa di un errore.
- Qualsiasi numero intero positivo dovrebbe essere accettabile come input e dovrebbe produrre un output, ad eccezione delle restrizioni relative al tipo di dati o alla memoria.
- Le uscite corrispondenti agli ingressi
1
,2
,3
, ... devono corrispondere a una sequenza appare in OEIS . Nessun altro risultato dovrebbe essere prodotto; solo un numero intero, possibilmente con spazi vuoti finali o iniziali. - Input e output possono essere argomenti di funzione o stdin / stdout.
Punto
Il punteggio viene calcolato come lunghezza totale del codice meno il doppio della lunghezza della parola più lunga, in caratteri. O, equivalentemente, il numero di caratteri non più lunghi meno la lunghezza della parola più lunga.
Il punteggio più basso vince.
Esempi
Considera un linguaggio postfisso immaginario che abbia queste funzioni c
:: inserisci un numero; At
: computa quadrato; $
: aggiungi 1.
cAt
sarebbe un programma valido (suoi corrisponde uscita alla sequenza 1
, 4
, 9
, ..., che è A000290 ), e sarebbe punteggio -3.
cAt$
sarebbe anche valido (sequenza 2
, 5
, 10
, ..., che è A002522 ), con il punteggio -2.
c$At
non sarebbe valido, perché l'unica parola qui è "At" ed è prodotta da una singola funzione o istruzione.