我的老师对我的火星家庭作业感到不满。我遵守了所有规则,但是她说我的输出是胡言乱语的……当她第一次看时,她非常可疑。“所有语言都应遵循齐普夫定律等等……”我什至不知道齐普夫定律是什么!
事实证明,齐普夫定律指出,如果在y轴上绘制每个单词的频率的对数,在x轴上绘制每个单词的“位置”的对数(最常见= 1,第二最常见= 2,第三最commmon = 3,依此类推),则该图将显示一条斜率约为-1的直线,给定或取约10%。
例如,这是Moby Dick的情节:
x轴是第n个最常见的单词,y轴是第n个最常见的单词的出现次数。该线的斜率约为-1.07。
现在我们涵盖了Venutian。值得庆幸的是,Venutians使用拉丁字母。规则如下:
- 每个单词必须至少包含一个元音(a,e,i,o,u)
- 每个单词中最多可以连续三个元音,但连续最多两个辅音(辅音是不是元音的任何字母)。
- 单词长度不超过15个字母
- 可选:将单词分为3-30个单词的句子,以句点分隔
因为老师觉得我在火星作业上作弊,所以我被分配去写一篇至少30,000字长的文章(以Venutian语言写)。她将使用Zipf定律来检查我的工作,因此,当拟合一条直线时(如上所述),斜率必须最多为-0.9,但不小于-1.1,并且她希望词汇量至少为200个单词。同一单词连续不得重复超过5次。
这是CodeGolf,因此以字节为单位的最短代码获胜。请将输出粘贴到Pastebin或其他我可以将其下载为文本文件的工具中。


