对于文字游戏来说,往往是英文词汇中字母出现的频率,而不考虑词频,这个比较有趣。
1. >E 11.1607% 56.88 M 3.0129% 15.36
2. A 8.4966% 43.31 H 3.0034% 15.31
3. R 7.5809% 38.64 G 2.4705% 12.59
4. I 7.5448% 38.45 B 2.0720% 10.56
5. O 7.1635% 36.51 F 1.8121% 9.24
6. T 6.9509% 35.43 Y 1.7779% 9.06
7. N 6.6544% 33.92 W 1.2899% 6.57
8. S 5.7351% 29.23 K 1.1016% 5.61
9. L 5.4893% 27.98 V 1.0074% 5.13
10. C 4.5388% 23.13 X 0.2902% 1.48
11. U 3.6308% 18.51 Z 0.2722% 1.39
12. D 3.3844% 17.25 J 0.1965% 1.00
13. P 3.1671% 16.14 Q 0.1962% (1) <-
第三列表示比例,将最不常见的字母 (q) 取为 1。字母 E 在构成单个英语单词时比 Q 多出 56 倍以上。
javascript 怎么可能构建一个算法,如果我生成 100 个字母,那么其中的 11-12%,即 11-12 个字母将是 E 等等。
最佳答案
这是一个算法:
将范围
[0, 1)
拆分为间隔,每个间隔都匹配一个字母并且大小与其概率成正比。例如0 - 0.116: 电子 0.116 - 0.201:一个 ……
- 获取0到1之间的随机数
- 选择包含这个数字的区间
- 获取关联的字母
关于javascript - Javascript 中的文字游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24986020/