题目背景
某蒟蒻迷上了 “小书童”,有一天登陆时忘记密码了(他没绑定邮箱 or 手机),于是便把问题抛给了神犇你。
题目描述
蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成。密码是由原文字符串(由不超过 50 个小写字母组成)中每个字母向后移动 n 位形成的。z
的下一个字母是 a
,如此循环。他现在找到了移动前的原文字符串及 n,请你求出密码。
输入格式
第一行:n。第二行:未移动前的一串字母。
输出格式
一行,是此蒟蒻的密码。
输入输出样例
样例输入 #1
1
qwe
样例输出 #1
rxf
说明/提示
字符串长度 ≤50。
思路:
没有。
代码如下
#include <bits/stdc++.h>
using namespace std;
int t;
int n;
string s;
int ls;
int main()
{
cin >> t;
cin >> s;
ls = s.size();
for (int i = 0; i < ls; ++i)
{
if (s[i] + t > 'z')
{
n = s[i] + t - 'z'; //算出s[i]+移动的步数与'z'的ASCII的差
cout << char('a' + n - 1); //再将'a'的ASCII+差-1
}
else
{
cout << char(s[i] + t);
}
}
return 0;
}