根据我的模式,输出不是一个有意义的单词。任何人都可以识别出不同的模式来输出有意义的单词

时间:2015-08-13 14:16:05

标签: javascript java html5

根据我的模式,输出不是一个有意义的单词。任何人都可以识别出不同的模式来输出有意义的单词。

考虑以下模式: A→D; M→P; X→A; a→d; m→p; x→a;

解决以下信息

Vrphwklqj phdqlqjixo

提示:答案是有意义的。

我正在考虑应该有两个字母的区别;输出:Yuskznotm .....(根本没有意义)。

任何人都可以看到不同的模式并帮助我。

2 个答案:

答案 0 :(得分:0)

问题是错误的 图案应为D-> A,P-> M,X-> U
那就是使用-3或+23(NOT +3)
的凯撒密码 正确阅读问题 用它来检查
    import java.io.*; class CaesarCipher { public static void main(String s)throws IOException { for(int i=1;i<27;i++) { int l=s.length(); for(int j=0;j<l;j++) if(Character.isLetter(s.charAt(j))) { if(((s.charAt(j))+i)>122) System.out.print((char)((s.charAt(j))+i-26)); else System.out.print((char)((s.charAt(j))+i)); } else System.out.print((char)s.charAt(j)); System.out.println(); } } }
只有小写字母 它每次都会添加一个新的班次来创建一个新的字符串
1,2,3,......,26个
您可以在添加23时查看问题的答案,也可以减去3,这应该是您误认为的真实问题 它将显示所有可能的CAESAR解决方案,看起来有意义

答案 1 :(得分:0)

谢谢Paulsam。你做对了。任务问题存在差异。我想通了,并为它写了一个javascript。

<!doctype html>
<html>
    <head>
        <title>Ceaser-Cipher-Convertion</title>
    </head>
    <body>
        <script>

//此函数接受输入并定义转换逻辑

 function convert() 
        {

//此处提供了要转换为消息的输入

  var input = "Vrphwklqj phdqlqjixo";

/ *转换逻辑基于Ceaser-Cipher方法。我们从字符串中检索字符的ASCII值。     根据公式; m = c + d mod 26.但是我们使用ASCII值,我们必须用-26代替mod 26。     来自模式的解密密钥是23.因此m = c + 23-26 =&gt; m = c - 23.但是对于ASCII值; A-C;公式返回     非字母ASCII值。作为这三个字母的例外; m = c + 23;     这样获得的ASCII值将被转换回字符* /

 for(var i=0; i<input.length; i++)
            {
                var asc_code = input.charCodeAt(i);
                var conv_code;

                //Conversion of alphabets (a-c)
                if((asc_code >= 65 && asc_code <= 67) || (asc_code >= 97 && asc_code <= 99))
                {
                     conv_code = asc_code+23;
                }

//其他字母的转换

else if((asc_code >= 68 && asc_code <= 90) || (asc_code >= 100 && asc_code <= 122))
                {
                    conv_code = asc_code-3;
                }

//非字母字符的转换

     else conv_code = asc_code;

//输出消息

                        var message = String.fromCharCode(conv_code);
                        document.write(message);
                }
            }

            convert();
        </script>
    </body>
</html>