您的任务是生成一个带有指定数量的“音节”的合理发音的无意义的单词。每次运行程序都可能导致一个不同的废话。
发音能力
可发音的单词由音节组成,而音节又由可能夹在两个辅音组之间的元音组组成。并非所有声音在所有位置都能发音,并且由于这取决于语言,因此我们将使用英语使用者可以理解的模式
起始辅音组:
b c d f g h j k l m n p r s t v w y z bl br ch ch cl cr dr fl ghgh gn gr kn ph pl pr qu sc sh sk sl sm sn sp st st th tr whwr sch scr shr squ str
元音组:
我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我爱我
结束辅音组:
bcdflmnprstxz bt ch ck ct ft ghgn lb ld lf lk lm lm ln lp lp mb mb mn mp mp mp mp nk nk ng nt ph pt rb rc rd rf rg rk rl rm rm rn rp rt rv rr rsh r sk r s lst lc lch中学
组合音节
起始和结束辅音组通常都是可选的,但是您不能在以元音开头的音节之前紧接以元音结尾的音节。
免责声明
为了简单起见,某些英语单词实际上无法以这种方式生成,例如真空,木琴,助记符,翼手龙,美丽,等等,它们,哇和大多数复数形式。
总览
使用此键的可能音节模式:
(SC)=起始辅音;(V)=元音组;(EC)=结束辅音
对于一个音节:
- (SC)(V)(EC)
- (V)(EC)
- (SC)(五)
- (五)
有两个音节:
- (SC)(V)(EC)(SC)(V)(EC)
- (SC)(V)(EC)(SC)(V)
- (SC)(V)(EC)(V)(EC)
(SC)(V)(EC)(V)
(SC)(V)(SC)(V)(EC)
(SC)(V)(SC)(V)
(V)(EC)(SC)(V)(EC)
- (V)(EC)(SC)(V)
- (V)(EC)(V)(EC)
(V)(EC)(V)
(V)(SC)(V)(EC)
- (V)(SC)(V)
... 等等
例子
1个音节
- 查斯特
- igh
- Shriegn
- s
- ue
- OO
- 奇兹
2个音节
- 爵士乐
- Whylprog
- 吃
- ba
- 奥拉
- 有
- 英索克
- 格里斯菲尔兹
- 布卢斯波
3个音节
- 细支
- 乌贼
- 首都
- gt
- 双重思考
- 哥哥
- phoebliaptmoo
- skolfblauquent
4个音节
- 稻草
- 僵尸
- Prearneajoomie
- slephotoschou
- 双佳
编码
输入:要生成的音节数的整数
输出:许多音节长的(可能是)废话
规则
- 需要某种形式的(伪)随机性。音节的所有组合都应该(理论上)可以生成,尽管分布不必是统一的。
- 您可以假设生成器是非周期性的,因此不必在数学上生成每个可能的单词(现实中可能没有足够长的时间),也不需要提供任何形式的证据来证明实际上,生成器可以产生所有可能的单词。
- 您的生成器实际上必须能够产生至少255个不同的值,因此您不能每次调用生成器时都只返回4。
- 最终重要的是,您应该以某种方式在代码中包括上述所有字母组,每个字母组被拣选的机率非零,并且每个音节模式的出现机率也非零(如果提供了真正的随机性)。
- 您最多必须支持16个音节词
- 除了组合音节的规则外,输出字还不得包含:
- 3个连续的元音(
a
e
i
o
u
;这可能发生在qu
单词上) - 3个连续匹配的辅音
- 3个连续的元音(
祝好运!
请注意,由于以下几个原因,这与生成可发音单词不同:
- 输入指定的可变音节数目,而不是严格的10个字母的要求。
- 这项挑战增加了必须(正确)编码的非穷举字母组,并允许音节的更多变体,因此不能仅从其他挑战中复制代码
- Squirdshlicker。需要我多说?
我也忘记了重复检查,但是事实证明,这为表带来了足够多的新内容,这无关紧要。毕竟,存在数百种奎因变种挑战。