凯撒加密是罗马皇帝凯撒发明了一种加密字母的方法,例如:
明文:HELLO
密文:KHOOR
密钥:3 R
加密的过程是,给出的密钥是3 R,那么对于明文中的每个字母,按字母表顺序往右数3位,比如“H”往右数3位就是“K”,“E”往右数3位就是“H”,"HELLO"按此方法加密后得到的就是密文"KHOOR"
给出一段密文(加密后的文字)和密钥,请翻译成明文(加密前的文字)。
第一行,一串字符表示密文(大写字母构成,长度不超过100) 第二行,由整数n和字母k构成的密钥,其中k的值为L表示往字母表左边数n位,R表示往右边数,0<=n<=20
输出仅一行,表示解密后的明文
CZGGJ
5 L
HELLO
#include<iostream>
#include<string>
using namespace std;
int main() {
string a;
cin >> a;
int n;
char k;
scanf("%d%c", &n, &k);
if (k == 'L') {
for (char b : a) {
b = (((int)b -'A' - n) % 26 + 'A');
printf("%c", b);
}
} else {
for (char b : a) {
b = (((int)b - 'A' - n) % 26 - 'A');
printf("%c", b);
}
}
return 0;
}
一直WA