0
已解决
姜宇轩
中级天翼
中级天翼
5542 解密(passport)
经验值:800 时间限制:1000毫秒
蜀山区2020年信息学竞赛试题
不许抄袭,一旦发现,直接清空经验!
题目描述 Description
萱萱最近在学习计算机密码学,密码学是一门古老而又年轻的学问,计算机科学的兴起给密码学注入了新的活力。在网络、通信技术高度发达的今天,计算机安全和保密问题显得越来越重要。萱萱在学习过程中遇到了这样一个任务:解密一份被加密过的文件。
经过研究,萱萱发现了加密文件有如下加密规律(括号中是一个“原文->密文”的例子)
(1)原文中所有的字符都在字母表中被循环左移了三个位置(dec -> abz)
(2)逆序存储(abcd -> dcba )
(3)字母大小写反转(abXY -> ABxy)
输入描述 Input Description
一个加密的字符串。(长度大于1且小于50且只包含大小写字母)
输出描述 Output Description
输出解密后的字符串。
样例输入 Sample Input
Helloworld
样例输出 Sample Output
GOURZROOHk
大佬们快把思路或代码给我(最好代码),这可是打卡题啊,急,在线等!!!
0
已采纳
李锦昊
中级天翼
中级天翼
for(int i=0;i<s.size();i++){
if(s[i]>='A'&&s[i]<='Z'){
s[i]+=32;
}
else if(s[i]>='a'&&s[i]<='z'){
s[i]-=32;
}
if(s[i]=='x'||s[i]=='y'||s[i]=='z'||s[i]=='X'||s[i]=='Y'||s[i]=='Z'){
s[i]-=23;
}
else{
s[i]+=3;
}
}
核心
最后逆向输出
0
0