我有我认为的密码(这不是作业,只是我认为我试图通过编码来解决的挑战),这是:
“uiw uiw n la ltid mtel teacyihr n heeig sfsst”
为了尝试解决它,我想迭代字母表中每个字母的密码分配的每种可能组合(以明显的暴力方式),但我无法找到一种优雅的方式那。一旦我得到密码赋值的当前迭代,我想我将根据密码转换密文,然后将第一个3个字母的单词与3个字母的单词表进行比较,将最后两个单词与5个字母的单词表进行比较,如果这三个都是实际单词,我会将结果打印到文件中。这应该给我一个合理的起点列表,以便能够清除不正确的结果。如果有人对如何实现迭代密码有任何想法,我会非常感激。非常感谢,
皮博迪
答案 0 :(得分:0)
您可以拥有26 for 循环。
行。我在开玩笑。
伪代码中一个明显但效率低下的版本:
for i = 0 - 26^26-1
/* a = i/26^25 % 26
...
z = i/26^0 % 26 */
if all deciphered words are in the word list
print
end if
end for
顺便说一句,我认为这不是你问题中解释的正确方法,因为我找不到英语句子中 double 存在同一个单词的例子。 / p>