我的问题不是特定于语言的。我在让循环处理排列时遇到问题。我正在尝试编写一些代码来显示 26^x
的所有值哪里x
是字符串的长度。不会提供输入字符串,因此如果 x=1
,它将显示 a 到 z,如果 x=2
它将显示 aa 到 zz。 az 被视为与 za 不同。
更具体地说,我想对更长的字符串(长度超过 100 个字符)运行此命令,以尝试查看给定长度的字符串中有多少包含单词而不是随机字母。
最佳答案
26^x where x is the length of a string ... I'm wanting to run this for longer strings, 100+ characters in length
你应该忘记它。
让我们正确看待事情。英文字母有26个字母,所以100个字符的字符串总数是...
3142930641582938830174357788501626427282669988762475256374173175398995908420104023465432599069702289330964075081611719197835869803511992549376
这是十进制数。以每毫秒 1 串的速度计算,需要 9.9*10^130 年才能将它们全部打印出来。这比宇宙存在的时间长 7.3*10^120 倍。
获取单词列表或将字典加载到内存中并使用它。
关于algorithm - 非常大的排列列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135509/