zoukankan      html  css  js  c++  java
  • 凯撒密码

    恺撒生活在充满危险和阴谋的时代. 恺撒面对的最困难的问题是生存. 为了生存, 他决定创造一种密码. 这种密码听起来难以置信, 如果不知

    道方法, 没有人可以破解.

    你是恺撒军队的一个上尉. 你的工作是解密消息并将之提供给将军. 密码很简单. 对明文的每个字母右移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

    只有字母需要移位, 其它字符保持不变, 所有字母均是大写.

    输入

    输入为至多100组数据. 每组数据有如下格式, 中间无空行.

    一组数据有3部分:

    起始行 - 单独一行: "START"
    密文 - 单独一行, 包含1到200个字符, 组成恺撒的消息.
    结束行 - 单独一行: "END"

    最后一组输入是单独一行: "ENDOFINPUT".

    输出

    对每组数据有一行输出. 即恺撒的原始消息.

    样例输入

    START
    NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
    END
    START
    N BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJ
    END
    START
    IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ
    END
    ENDOFINPUT
    
    

    样例输出

    IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES
    I WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROME
    DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE
    #include <iostream> 
    #include<stdio.h>
    #include<string.h> 
    using namespace std; 
    int main() 
    { 
      char tmp[256],c; 
      int i; 
        while(1) 
        { 
          gets(tmp); 
          if (strcmp(tmp, "ENDOFINPUT") == 0) break; 
          gets(tmp); 
          for (i=0; i<strlen(tmp); i++) 
          { 
            c=tmp[i]; 
            if (c>='A' && c<='Z') putchar((c-'A'+21)%26+'A'); 
            else putchar(c); 
          } 
            putchar('
    '); 
            gets(tmp); 
        } 
        return 0; 
    }
  • 相关阅读:
    mybatis源码追踪2——将结果集映射为map
    Mybatis的cache
    mybatis拦截器
    mybatis中单个参数的引用
    mybatis源码追踪1——Mapper方法用法解析
    win8 下 intellij idea 13 中文输入覆盖的问题
    firebug中html显示为灰色的原因总结
    extjs4.0以上添加多行工具栏的方法
    去除eclipse的validating
    An interview question from MicroStrategy
  • 原文地址:https://www.cnblogs.com/--lr/p/6098417.html
Copyright © 2011-2022 走看看