这里我用c++的string对象来写

#include <iostream>
#include <string>  //注意:不是<string.h>
using namespace std;
int main()
{int n,a,b;char c;string str1,str2;cin>>n>>str1;for(int i=0;i<str1.size();i++){a=str1[i];   //遍历str1字符串转为ASCll数值b=(a+n-97)%26+97; //移位后的数值存给bc=b;   //把b变成字符str2=str2+c; //把b存入str2中}cout<<str2;
}

补充知识:如何实现移位呢?--实质约瑟夫环

有一个公式如下

移位后的数值=(当前数值+移动几位-起点)%成员个数+起点

eg:b=(a+n-97)%26+97
a是当前的ASCll值
n是向右移动的个数
然后减去了起点,这里的起点说的就是a-z的起点a的ASCll值97

%26的26就是成员个数,a-z有26个成员
后面+97就是加上起点,这里的起点就是a的ASCll值

如果是向右移动呢?

如果向左移动n,就是向右移动成员个数-n
eg:如果上面改为向左移动n,就是向右移动26-n
b=(a+26-n-97)%26+97

P1914 小书童——凯撒密码题解(用c++的string对象来写)相关推荐

  1. P1914 小书童——凯撒密码题解(全网首创方法)

    思路很简单(也很奇葩) 用 a[i]+b: if(a[i]>='Z'&&a[i]<='a'||a[i]>='z'){ a[i]-=26:时 可能会这样: a[i]=Z ...

  2. 洛谷——P1914 小书童——凯撒密码

    P1914 小书童--凯撒密码 输出格式 一行,是此蒟蒻的密码 输入输出样例 输入 #1复制 1 qwe 输出 #1复制 rxf 说明/提示 字符串长度<=50 #include<bits ...

  3. 洛谷 P1914 小书童——凯撒密码 C/C++ 字符串

    不需要开数组 边读边处理 //P1914 小书童--凯撒密码 #define LOCAL #include <iostream> #include <cstdio> #incl ...

  4. 刷题随记 洛谷P1914 小书童——凯撒密码 char爆了!!

    洛谷P1914 小书童--凯撒密码. 第一次错误代码 #include<bits/stdc++.h> using namespace std; int n; char a[100]; in ...

  5. [洛谷]P1914小书童——凯撒密码

    小书童--凯撒密码 题目背景 某蒟蒻迷上了 "小书童",有一天登陆时忘记密码了(他没绑定邮箱 or 手机),于是便把问题抛给了神犇你. 题目描述 蒟蒻虽然忘记密码,但他还记得密码是 ...

  6. Java实现 洛谷 P1914 小书童——凯撒密码

    import java.util.Scanner;public class 凯撒密码 {public static void main(String[] args) {Scanner sc = new ...

  7. 洛谷P1914 小书童——凯撒密码

    题目背景 某蒟蒻迷上了"小书童",有一天登陆时忘记密码了(他没绑定邮箱or手机),于是便把问题抛给了神犇你. 题目描述 蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成.密码是由 ...

  8. P1914 小书童——凯撒密码

    题目背景 某蒟蒻迷上了 "小书童",有一天登陆时忘记密码了(他没绑定邮箱 or 手机),于是便把问题抛给了神犇你. 题目描述 蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成.密 ...

  9. P1914 小书童——凯撒密码(python实现)

    题目背景 某蒟蒻迷上了 "小书童",有一天登陆时忘记密码了(他没绑定邮箱 or 手机),于是便把问题抛给了神犇你. 题目描述 蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成.密 ...

最新文章

  1. alert()的功能_前端实现简单的图片上传小图预览功能
  2. 应届前端面试——看这篇就够了(一)
  3. WebForm实现增删改查
  4. Eclipse和Tomcat绑定并且将上传资源到Tomcat上
  5. android获取小程序音频时长,微信小程序获取音频时长与实时获取播放进度
  6. qt鼠标进入窗体后,窗体自动置顶
  7. mac电脑本地运行MapReduce, Permission denied
  8. 7070mt安装ubuntu dell_【手把手AI项目】一、安装win10+linux-Ubuntu16.04的双系统(超细致)...
  9. 【转】加班与加薪的秘密:一位华为工程师的经验分享
  10. python---录制音频
  11. React native和原生之间的通信
  12. 2021-07-26 SEO优化_关键词密度设置算法
  13. 爬取巨潮资讯网中与“贵州茅台”相关的公告的标题和网址。
  14. linux程序图形关不了怎么办,ubuntu下卸载软件 linux关闭图形化界面
  15. 入门】求一个两位数的个位和十位的和
  16. 计算机的硬件系统和软件系统
  17. 计算机数据恢复试题,数据恢复试卷含笔答实操题a
  18. 3万字英国留学生Java后台面经,中offer率5/7 精
  19. 【Java-文件下载】
  20. 基于施密特与非门(非门)实现多谐振荡器的multisim仿真

热门文章

  1. css+js实现水波纹效果
  2. SQL 计算累积销售额,百分比
  3. Solr 优化主关键字索引
  4. 我的家庭梦和我的大学梦
  5. 雅迪在瑞士和拉丁美洲开设旗舰店;起亚发布全新Logo和品牌口号;戴姆勒与印孚瑟斯达成战略合作 | 美通企业周刊...
  6. 京东金融云测平台方案揭秘
  7. 用wsdd来开发web services
  8. CXF发布服务,WebService缺少wsdl:types/wsdl:message/标签
  9. 7-5 神奇的数学公式
  10. 入了丰元的今天吃肉吧