题目传送处:请点击这里
**
题目背景
**
某蒟蒻迷上了“小书童”,有一天登陆时忘记密码了(他没绑定邮箱or手机),于是便把问题抛给了神犇你。
题目描述
蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成。密码是由原文字符串(由不超过 50 个小写字母组成)中每个字母向后移动 n 位形成的。z 的下一个字母是 a,如此循环。他现在找到了移动前的原文字符串及 n,请你求出密码。
输入格式
第一行:n。第二行:未移动前的一串字母
输出格式
一行,是此蒟蒻的密码
输入输出样例
输入 #1
1
qwe
输出 #1
rxf
说明/提示
字符串长度<=50
题解
**注意:**z+1,会到a
#include<iostream>
#include<string>
using namespace std;
int main() {
string str;
int n;
cin >> n;
cin >> str;
for (int i = 0; i < str.length(); i++)
{
int temp = n + str[i];
if (temp <= 'z')
{
str[i] = temp;
}
else
{
str[i] = str[i] - 26 + n;
}
}
cout << str;
return 0;
}
我做完之后,看了别人的题解。好多都是用对字符串各位字母进行后移n位,后对26取模的方式。不过,我这种思路比较好想到。O(∩_∩)O哈哈~