草庐IT

最难的问题:把发送来的消息破译出来、并提供给你的将军

AJIUZ 2023-06-14 原文

题目:最难的问题      最难的问题

        NowCoder生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是军团中的一名军官,需要把发送来的消息破译出来、并提
供给你的将军。
        消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A 都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。密码中的字母与原文中的字母对应关系如下。
密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

输入描述:
        输入包括多组数据,每组数据一行,为收到的密文。
        密文仅有空格和大写字母组成。

输出描述:
        对应每一组数据,输出解密后的明文。示例1
输入

HELLO WORLD

SNHJ
输出
CZGGJ RJMGY

NICE

思路:

        找规律。

密码字母:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
原文字母:V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

  不能单纯的用 +5 找到后面字母进行替换,要分情况。
当密码字母:F ~ Z 时候: 原文 = 密码 - 5  (>’E’)
当密码字母:A ~ E时候:  原文 = 密码 + 21

代码:

import java.util.*;

/**
 * Created with IntelliJ IDEA.
 * Description: 最难的问题
 * 当密码字母:F ~ Z 时候: 原文 = 密码 - 5
 * 当密码字母:A ~ E时候:  原文 = 密码 + 21
 * User: WangWZ
 * Date: 2023-04-10
 * Time: 15:46
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()) {
            String str = scanner.nextLine();
            StringBuilder sb = new StringBuilder();
            for(int i = 0; i < str.length(); i++) {
                char a = str.charAt(i);
                if (a == ' ') {
                    sb.append(' ');
                } else {
                    sb.append((char)(a >'E'? a - 5: a + 21));
                }
            }
            System.out.println(sb);
        }
    }
}

         

有关最难的问题:把发送来的消息破译出来、并提供给你的将军的更多相关文章

  1. ruby-on-rails - Ruby on Rails 从 'Errno::ENOENT' 中解救出来 - 2

    我需要从RubyonRails3.0.4应用程序中的“Errno::ENOENT”中解救出来。我目前有包含以下代码的Controller:begin`lame#{parameters}`rescueErrno::ENOENTlogger.info"command'lame'notfound:ensureLAMEisinstalled"end然而,从未调用日志代码,但日志显示:script/rails:Nosuchfileordirectory-lame...如果我用相同的片段创建一个ruby​​脚本,异常就会被挽救。 最佳答案 在R

  2. ruby-on-rails - Bundler::RubyVersionMismatch: 你的 Ruby 版本是 1.9.3,但是你的 Gemfile 指定了 2.0.0 - 2

    我正在使用带有Pow、Ruby、Rails和一堆有用的gem的Mac。每当我尝试打开我的应用程序时,我最近都会遇到此错误。Bundler::RubyVersionMismatch:您的Ruby版本为1.9.3,但您的Gemfile指定为2.0.0我明白这个错误,但我找不到为什么它没有在这里使用正确的版本。一些有用的信息:堆栈跟踪Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0~/.rvm/gems/ruby-2.0.0-p247/gems/bundler-1.3.5/lib/

  3. ruby-on-rails - 你如何说服你的经理你的项目需要大量重构? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我作为承包商加入了一个Rails项目。该项目已经进行了一年多。代码由大约10名不同的开发人员编写,其中大多数也是承包商。他们有不同的代码风格。其中一些来自Java。该代码在metric_fu方面得分很低。许多函数非常长(100-300行)。有些函数有大量的逻辑分支、循环和递归。每个请求都会生成大量的sql查询。性能很差。许多过时的代码从未使用过但从未有机会被清理。核心架构明显错误或设计过度

  4. ruby - 缺少 mysql2 gem。将它添加到你的 Gemfile : gem 'mysql2' - 2

    版本ruby1.9.2-p290导轨3.0.9rvm下的mysql2-0.2.13Ubuntu11.04gem使用“geminstallmysql2-v'rails和“railsc”工作正常。我需要使用activerecord3.0.9在Rails环境之外运行脚本。当我运行脚本时,这是输出:======================/home/ross/work/x/library/models.rb:27:in`eval':!!!Missingthemysql2gem.AddittoyourGemfile:gem'mysql2'(RuntimeError)from/home/ros

  5. ruby-on-rails - 你的 Ruby 版本是 2.2.4,但是你的 Gemfile 指定了 2.3.0? - 2

    我正在尝试在GitBash中捆绑安装一个ruby​​项目,但我收到了上述消息。ruby-vruby2.2.4p230(2015-12-16revision53155)[i836-mingw32]gem-v2.3.0Ruby的新手,所以真的很令人沮丧。我正在尝试做下面的项目http://www.viralrails.com/?p=25 最佳答案 发生这种情况是因为您在Gemfile(2.3.0)中指定了Ruby版本,而该版本未安装或者不是当前或默认版本。不要像上面有人说的那样删除ruby​​'2.3.0'行。您的应用可能依赖于此版本。

  6. ruby-on-rails - 在你的命令前加上 `bundle exec` 可能会解决这个问题 - 2

    我在将网站部署到AWS时遇到问题。Gem::LoadError:Youhavealreadyactivatedrake10.4.2,butyourGemfilerequiresrake10.5.0.Prepending`bundleexec`toyourcommandmaysolvethis./var/app/ondeck/config/boot.rb:3:in`'/var/app/ondeck/config/application.rb:1:in`'/var/app/ondeck/Rakefile:4:in`'LoadError:cannotloadsuchfile--bundler

  7. ruby-on-rails - 无法运行 rails 命令。你的 Ruby 版本是 2.2.1,但是你的 Gemfile 指定了 2.1.4 - 2

    我无法运行服务器railss或无法制作Controller等。我该怎么办?终端显示以下错误:YourRubyversionis2.2.1,butyourGemfilespecified2.1.4 最佳答案 运行ruby-v然后你会看到你已经安装了ruby​​2.2.1,但是你的Gemfile中的第一行指定使用ruby2.1.4。更改Gemfile中的第一行以指定ruby2.2.1或安装ruby2.1.4如果你想使用以前的版本ruby​​2.1.4。然后首先使用rvmlist命令检查它是否已经安装。如果它在那里那么你需要运行rvmus

  8. ruby - bundle 安装错误 - 你的 bundle 只支持平台 [] 但你的本地平台是 ["ruby", "x86_64-linux"] - 2

    在执行bundle安装时出现此错误;谷歌似乎是一个常见问题,但我似乎找不到解决方法(似乎是关于Gemfile.lock的建议,但我将该文件移到了另一个目录)#bundleinstallYourbundleonlysupportsplatforms[]butyourlocalplatformsare["ruby","x86_64-linux"],andthere'snocompatiblematchbetweenthosetwolists.这是我的Gemfile,目录中没有Gemfile.lock。[root@ip-172-30-4-16rails]#gem-v2.6.11[root@i

  9. ruby - 将 proc 作为 block 提供给方法 - 2

    假设我有以下数组:arr=[[5,1],[2,7]]而我要找最小的元素,比较元素的第二个元素。最小元素将为[5,1],因为1小于7。我可以使用以下代码:arr.min{|a,b|a[1]b[1]}为了计算最大值,我可以这样做:arr.max{|a,b|a[1]b[1]}这给出了[2,7]。我一直使用同一个block。我想将该block放在某处并将其提供给最小/最大函数。我希望是这样的:blo=lambda{|a,b|a[1]b[1]}arr.minblo会起作用,但它没有。关于如何执行此操作的任何想法? 最佳答案 使用&操作符将一个

  10. ruby - 如何解析 URL 并提取所需的子字符串 - 2

    假设我有这样一个字符串:"http://something.example.com/directory/"我想做的是解析这个字符串,并从字符串中提取"something"。第一步,显然要检查以确保字符串包含"http://"-否则,它应该忽略该字符串。但是,我如何才能提取该字符串中的"something"?假设这将要评估的所有字符串都具有相似的结构(即我正在尝试提取URL的子域-如果正在检查的字符串确实是一个有效的URL-其中有效以"http://").谢谢。附言我知道如何检查第一部分,即我可以简单地在"http://"处拆分字符串,但这并不能解决全部问题,因为这会产生"http://

随机推荐