Eccone uno per tutti voi parolieri là fuori! Scrivi un programma o una funzione che prende un elenco di parole e produce un elenco di tutte le possibili scomposizioni concatenative per ogni parola. Per esempio:
(Nota: questo è solo un piccolo campionamento a scopo illustrativo. L'output effettivo è molto più voluminoso.)
afterglow = after + glow
afterglow = aft + erg + low
alienation = a + lie + nation
alienation = a + lien + at + i + on
alienation = a + lien + at + ion
alienation = alien + at + i + on
alienation = alien + at + ion
archer = arc + her
assassinate = ass + as + sin + ate
assassinate = ass + ass + in + ate
assassinate = assassin + ate
backpedalled = back + pedal + led
backpedalled = back + pedalled
backpedalled = backpedal + led
goatskin = go + at + skin
goatskin = goat + skin
goatskin = goats + kin
hospitable = ho + spit + able
temporally = tempo + rally
windowed = win + do + wed
windowed = wind + owed
weatherproof = we + at + her + pro + of
yeasty = ye + a + sty
Ok, hai avuto l'idea. :-)
Regole
- Usa qualsiasi linguaggio di programmazione di tua scelta. Vince il codice più breve per numero di caratteri per ogni lingua . Ciò significa che esiste un vincitore per ogni lingua utilizzata. Il vincitore assoluto sarà semplicemente il codice più breve di tutti i partecipanti.
- L'elenco di input può essere un file di testo, input standard o qualsiasi struttura di elenco fornita dalla tua lingua (elenco, array, dizionario, set, ecc.). Le parole possono essere inglese o qualsiasi altra lingua naturale. (Se l'elenco è composto da parole inglesi, ti consigliamo di ignorare o pre-filtrare gli elementi a lettera singola tranne "a" e "i". Allo stesso modo, per altre lingue, ti consigliamo di ignorare gli articoli senza senso se appare nel file.)
- L'elenco di output può essere un file di testo, un output standard o qualsiasi struttura di elenco utilizzata dalla tua lingua.
- Puoi usare qualsiasi dizionario di input che ti piace, ma probabilmente vorrai usarne uno che fornisca parole sensibili piuttosto che uno che fornisca troppe parole oscure, arcane o obnubilate. Questo è il file che ho usato: L'elenco Corncob di oltre 58000 parole inglesi
Domande
Questa sfida riguarda principalmente la scrittura del codice per eseguire l'attività, ma è anche divertente esaminare i risultati ...
- Quali parole chiave si verificano più comunemente?
- Quale parola può essere scomposta nel maggior numero di parole chiave?
- Quale parola può essere scomposta nei modi più diversi?
- Quali parole sono composte dalle più grandi parole chiave?
- Quali decomposizioni hai trovato le più divertenti?
alienation
quando l'ho tagliato e incollato. Riparato ora. In termini di altri, l'elenco sopra è solo un piccolo campionamento. Il mio programma di test ha generato decine di migliaia di risposte quando è stato fornito l'elenco Corncob.