【发布时间】:2010-08-05 12:56:11
【问题描述】:
我已经尝试解决 Project Euler's problem #59 有一段时间了,但我遇到了麻烦,因为其中一些问题似乎比以前的问题更加模糊。
作为背景,问题表明给定的文本文件是加密文本,其中 ASCII 代码保存为数字。加密方法是循环异或3个小写字母与明文(所以它是可逆的)。该问题要求将文件解密为英文文本的密钥。我应该如何限制输出的字符集以获得答案,而不是尝试筛选所有可能的明文 (26^3)?
我尝试过限制为字母、空格和标点符号,但没有奏效。
澄清一下:我想确定,在所有可打印的 ASCII 字符中,哪些我可以丢弃,哪些我可以期望在纯文本字符串中。
【问题讨论】:
-
你不能指望比这更严格的定制。英文信息可能包含您提到的字母、空格和标点符号。阅读我留下的关于如何根据英文词典进一步缩小输出范围的第二条评论。如果您正确地执行此操作,则破译文本通过您的检查的几率会大大降低。如果在那之后你得到了更多,我会感到惊讶。
-
您的问题进展如何?
-
26^3 是一个很小的数字。