这是供您所有词匠使用的工具!编写一个程序或函数,该程序或函数接受单词列表并为每个单词生成所有可能的级联分解的列表。例如:
(注意:这仅是一个小样本,用于说明目的。实际输出量要大得多。)
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
好的,您知道了。:-)
规则
- 使用您选择的任何编程语言。每种语言的字符数最短的代码获胜。这意味着每种使用的语言都有一个赢家。总冠军将是所有提交者中最短的代码。
- 输入列表可以是文本文件,标准输入或您的语言提供的任何列表结构(列表,数组,字典,集合等)。单词可以是英语或任何其他自然语言。(如果列表是英文单词,则您将忽略或预过滤除“ a”和“ i”之外的单字母项目。类似地,对于其他语言,如果它们不合逻辑,则将它们忽略。出现在文件中。)
- 输出列表可以是文本文件,标准输出或您的语言使用的任何列表结构。
- 您可以使用任何喜欢的输入词典,但是您可能想要使用提供有意义的单词的词典,而不是提供太多晦涩,奥秘或难以理解的单词的词典。我使用的这个文件:超过58000个英语单词的Corncob列表
问题
这个挑战主要是关于编写代码来完成任务,但是梳理结果也很有趣...
- 哪些子词最常出现?
- 哪个单词可以分解为最多的子单词?
- 哪个词可以以最不同的方式分解?
- 什么词由最大的子词组成?
- 您发现哪些分解最有趣?
“哪些子词最常出现?” 会在外面大肆猜测,并说“ a”可能在顶部附近。
—
Sellyme
@SebastianLamerichs-我不知道...可能是,也许不是。:)
—
托德·雷曼
@ToddLehman该句子正好包含0个子词,因此'a'首先仍然相等:P
—
Sellyme'Sep
@SebastianLamerichs,如果您指的是托德对您的回复,则“ dunno”可以分为“ dun” +“ no”。;)
—
我惊吓了外星人
alienation
剪切和粘贴时的两个分解。立即修复。在其他方面,上面的列表只是一个小样本。当给出玉米芯列表时,我的测试程序生成了数以万计的答案。