Hier ist einer für alle, die Sie da draußen Wortschmiede! Schreiben Sie ein Programm oder eine Funktion, die eine Liste von Wörtern und eine Liste aller möglichen verketteten Zerlegungen für jedes Wort erstellt. Beispielsweise:
(Hinweis: Dies ist nur eine kleine Auswahl zur Veranschaulichung. Die tatsächliche Ausgabe ist weitaus umfangreicher.)
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, du kommst auf die Idee. :-)
Regeln
- Verwenden Sie eine Programmiersprache Ihrer Wahl. Kürzester Code nach Zeichenanzahl für jede Sprache gewinnt. Dies bedeutet, dass es für jede verwendete Sprache einen Gewinner gibt. Der Gesamtsieger ist einfach der kürzeste der eingereichten Codes.
- Die Eingabeliste kann eine Textdatei, eine Standardeingabe oder eine von Ihrer Sprache bereitgestellte Listenstruktur (Liste, Array, Wörterbuch, Gruppe usw.) sein. Die Wörter können Englisch oder eine andere natürliche Sprache sein. (Wenn es sich bei der Liste um englische Wörter handelt, sollten Sie Einträge mit einem Buchstaben außer "a" und "i" ignorieren oder herausfiltern. Ebenso sollten Sie in anderen Sprachen unsinnige Einträge ignorieren, wenn sie vorhanden sind erscheinen in der Datei.)
- Die Ausgabeliste kann eine Textdatei, eine Standardausgabe oder eine von Ihrer Sprache verwendete Listenstruktur sein.
- Sie können ein beliebiges Eingabewörterbuch verwenden, aber wahrscheinlich möchten Sie eines verwenden, das vernünftige Wörter enthält, anstatt eines, das zu viele dunkle, arkane oder unbewusste Wörter enthält. Dies ist die Datei, die ich verwendet habe: Die Maiskolben-Liste mit mehr als 58000 englischen Wörtern
Fragen
Bei dieser Herausforderung geht es in erster Linie darum, den Code zu schreiben , um die Aufgabe zu erfüllen, aber es macht auch Spaß, die Ergebnisse durchzukämmen ...
- Welche Unterwörter kommen am häufigsten vor?
- Welches Wort kann in die meisten Unterwörter zerlegt werden?
- Welches Wort kann auf die unterschiedlichsten Arten zerlegt werden?
- Welche Wörter setzen sich aus den größten Unterwörtern zusammen?
- Welche Zerlegungen fanden Sie am amüsantesten?
alienation
als ich das ausgeschnitten und eingefügt habe. Jetzt behoben. In Bezug auf die anderen ist die obige Liste nur eine kleine Auswahl. Mein Testprogramm ergab Zehntausende von Antworten, als ich die Corncob-Liste erhielt.