首页 > 试题广场 >

字符串加解密

[编程题]字符串加解密
  • 热度指数:276333 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}规定这样一种密码的加密方法:
\hspace{23pt}\bullet\,对于密码中的英文字母,按照字母表顺序,向后移动一位,同时改变大小写,即 \mathtt{Z} 转换为 \mathtt{a}\mathtt{A} 转换为 \mathtt{b}\mathtt{B} 转换为 \mathtt{c}\cdots\mathtt{Y} 转换为 \mathtt{z}\mathtt{Z} 转换为 \mathtt{a}
\hspace{23pt}\bullet\,对于密码中的数字,增加 19 转换为 0
\hspace{15pt}字符串的解密方法即为加密方法的逆过程。

\hspace{15pt}现在,对于给定的明文字符串 s ,将其加密;对于给定的密文字符串 t ,将其解密。

输入描述:
\hspace{15pt}第一行输入一个长度为 1 \leqq {\rm length}(s) \leqq 10^3 的字符串 s ,代表给定的明文字符串;
\hspace{15pt}第二行输入一个长度为 1 \leqq {\rm length}(t) \leqq 10^3 的字符串 t ,代表给定的密文字符串。

\hspace{15pt}除此之外,保证字符串 st 中仅包含英文字母和数字。


输出描述:
\hspace{15pt}第一行输出一个字符串,代表加密后的 s
\hspace{15pt}第二行输出一个字符串,代表解密后的 t
示例1

输入

abcdefg1
0BCDEFGH

输出

BCDEFGH2
9abcdefg
头像 过东火神
发表于 2021-11-11 14:27:51
参考了大神的题解,用b判断是加密还是解密, 直接用映射的方法输出 def check(a,b): L1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" L2 = "BCDEFGHIJKLMNOPQR 展开全文
头像 煮饼ipc
发表于 2022-03-08 23:23:32
直接用字典法,简单快捷 #include <iostream> using namespace std; int main(){ string str1, str2; cin >> str1 >> str2; string a("abcde 展开全文
头像 枫火蓮天
发表于 2021-04-05 11:52:42
正常的解题思路,使用多分支判断将字符对应转换。 tips:大小写转换不用查ASCII码表,通过字符加减就能实现 有大佬说数字转换可以通过加一再除以十取余数的方式实现,这样不用单独考虑数字9,方便多了! import java.util.Scanner; p 展开全文
头像 可导必连续^-^
发表于 2022-01-20 22:44:26
while True: try: a = input() a = list(a) #需要加密的字符串 b = input() b = list(b) #需要解密的字符串 for i in range(len(a) 展开全文
头像 Shostak
发表于 2021-02-23 16:43:10
inttab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" outtab = "bcdefghijklmnopqrstuvwxyzaBCDEFGHIJKLMNOPQRSTUVWXYZA1234567890" wh 展开全文
头像 牛客587397号
发表于 2022-02-18 23:11:14
public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNextLine()) 展开全文
头像 洛枫、
发表于 2019-09-20 16:57:26
查表咯 code1 = list("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") code2 = list("BCDEFGHIJKLMNOPQRSTUVWXYZAbcdefghijklmnopqrstuvwxyza") code3 = 展开全文
头像 呆喵挠琴
发表于 2021-10-31 17:52:26
题目的主要信息: 对输入的字符串进行加解密,英文字母用该英文字母的后一个字母替换,同时字母变换大小写;数字则把该数字加1。其他字符不做变化。 解密方法为加密的逆过程。 方法一: 构造加密encoder和解密decoder两个函数。加密和解密的思路很像,这里主要讲讲加密的过程,解密类似。遍历一遍字 展开全文
头像 牛客969573159号
发表于 2021-09-27 11:54:06
import string str1 = string.ascii_uppercase str2 = string.ascii_lowercase str3 = '1 2 3 4 5 6 7 8 9 0' while True: try: #需要加密的密码 展开全文
头像 CJ-Dong
发表于 2020-08-09 10:33:53
/*****************************方法一*******************************/ #include <iostream> #include <vector> #include <string> using name 展开全文