• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Niro Einteson
文可提笔安天下 武可上马定乾坤
博客园    首页    新随笔    联系   管理    订阅  订阅

P1914 小书童——密码

 

P1914 小书童——密码

题目背景
某蒟蒻迷上了“小书童”,有一天登陆时忘记密码了(他没绑定邮箱or手机),于是便把问题抛给了神犇你。

题目描述
蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成。密码是由原文字符串(由不超过 50 个小写字母组成)
中每个字母向后移动 n 位形成的。z 的下一个字母是 a,如此循环。他现在找到了移动前的原文字符串及 n,请你求出密码。

输入格式
第一行:n。第二行:未移动前的一串字母

输出格式
一行,是此蒟蒻的密码

输入输出样例
输入
1
qwe
输出
rxf
说明/提示
字符串长度<=50

 1 解法:
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 int main()
 5 {
 6     /*思路:
 7         1:遍历每个字符,
 8         2:每个字符-'a'获取 下标b-'a'=1 (0-26)
 9         3:下标 +n 然后结果id%26就是  这a-z的字母下标
10         4:然后从a + id 就是 移动后的字母
11     */
12     int n;
13     string str,strx="";
14     cin>>n>>str;
15     for(int i=0;i<(int)str.size();i++){
16             if(str[i]>='a'&&str[i]<='z'){
17                 int id=(str[i]-'a'+n)%26;
18                 strx+=('a'+id);
19             }
20     }
21     cout<<strx<<endl;
22     return 0;
23 }

 

 

posted @ 2019-12-12 13:17  Nirogo  阅读(360)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3