news 2026/5/4 10:33:35

csp信奥赛C++高频考点专项训练之字符串 --【字符串基础】:凯撒密码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
csp信奥赛C++高频考点专项训练之字符串 --【字符串基础】:凯撒密码

csp信奥赛C++高频考点专项训练之字符串 --【字符串基础】:凯撒密码

题目背景

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

题目描述

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

输入格式

第一行:n nn。第二行:未移动前的一串字母。

输出格式

一行,是此蒟蒻的密码。

输入输出样例 #1
输入 #1
1 qwe
输出 #1
rxf
说明/提示

字符串长度≤ 50 \le 50501 ≤ n ≤ 26 1 \leq n \leq 261n26

分析思路

本题是一个经典的凯撒密码问题。给定原文字符串(仅包含小写字母)和移动位数 n,要求将每个字母向后移动 n 位,其中z的后一个是a,形成循环。
处理方法:遍历字符串的每个字符c,计算(c - 'a' + n) % 26,得到移位后的字母索引,再加上'a'即为新字符。由于 n 可能大于 26,取模运算能保证循环正确。最后输出结果字符串。

代码实现

#include<bits/stdc++.h>usingnamespacestd;intmain(){intn;// 移动位数string s;// 原文字符串cin>>n>>s;// 读取输入for(inti=0;i<s.size();i++){// 遍历每个字符// 计算移位后的字符:'a' + (当前字符相对'a'的偏移 + n) mod 26s[i]='a'+(s[i]-'a'+n)%26;}cout<<s<<endl;// 输出密码return0;}

功能分析

  • 输入:第一行一个整数 n(1 ≤ n ≤ 26 1 \le n \le 261n26),第二行一个由小写字母组成的字符串(长度不超过 50)。
  • 输出:一行字符串,为原字符串中每个字母向后移动 (n) 位后得到的密码(循环移位)。
  • 处理逻辑:程序读取数据后,对每个字符使用取模运算完成循环移位,直接修改原字符串并输出。

【完整系列请查看专栏】:
信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:
https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转


各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}

【秘籍汇总】(完整csp信奥赛C++学习资料):

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

https://edu.csdn.net/course/detail/41081 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转

4、csp信奥赛冲刺一等奖有效刷题题解:

信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:
https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转

信奥赛C++提高组csp-j初赛&复赛真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转

5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转


GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/4 10:27:31

Altium Designer 22 效率翻倍秘籍:这30个快捷键让你画板快人一步

Altium Designer 22 效率翻倍秘籍&#xff1a;这30个快捷键让你画板快人一步 在高速迭代的电子设计领域&#xff0c;PCB工程师的竞争力往往体现在细节效率的比拼上。当两位工程师面对相同的四层板设计任务时&#xff0c;熟练运用快捷键的那位可能提前半天完成布线&#xff0c;而…

作者头像 李华
网站建设 2026/5/4 10:24:54

手机存储速度翻倍的秘密:一文读懂UFS 2.0的M-PHY物理层与UniPro协议栈

手机存储速度翻倍的秘密&#xff1a;一文读懂UFS 2.0的M-PHY物理层与UniPro协议栈 当你滑动手机相册时&#xff0c;是否经历过图片加载的卡顿&#xff1f;启动大型游戏时&#xff0c;是否被漫长的等待消磨了耐心&#xff1f;这些体验的差异&#xff0c;很大程度上取决于手机存储…

作者头像 李华
网站建设 2026/5/4 10:23:44

Gemini 3.1 Pro 多模态图片识别深度评测:OCR、图表理解与代码提取

概要Gemini 3.1 Pro 是 Google DeepMind 2025 年底发布的旗舰大语言模型&#xff0c;采用 MoE 混合专家架构&#xff0c;原生支持多模态输入处理。本文从工程实践角度出发&#xff0c;对其图片识别能力做了系统性测试&#xff0c;覆盖 OCR 文字提取、图表数据解析、代码截图还原…

作者头像 李华
网站建设 2026/5/4 10:22:06

魔兽争霸III终极体验指南:3分钟搞定WarcraftHelper插件配置

魔兽争霸III终极体验指南&#xff1a;3分钟搞定WarcraftHelper插件配置 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III在现代化电脑…

作者头像 李华