如何编码?(简单字符串的模拟)
2015-03-08 23:13
260 查看
如何编码?
Time Limit: 1000msMemory Limit: 65535KB
64-bit integer IO format: %lld
Java class name: Main
Prev
Submit Status Statistics Discuss
Next
Clm高中同桌特别喜欢数学,他的QQ登陆密码是用他的名字经过数学方法加密后得到的字符串,虽然记起来没什么规律,但他对于这种方法乐此不疲。他告诉clm他加密后的字符串,一脸坏笑的问“你知道我是怎样加密的吗?”clm想了一下并没有直接回答,而是用他的加密方法给另一个同学的名字进行了加密,得到了一个新的密码,从而回答了他的问题。
名字:Qin Weize
密码:Qkr Cmsls
名字:Zhao Xiao nan
密码:Zjeu Fsmc dsh
从以上两个例子中学习clm的加密方法对名字进行加密。
Input
第一行输入一个整数n,接下来n行每行是一个名字,只包含大小英文字母和空格,长度不超过80个字符。
Output
对于每个名字,输出一个经过加密的字符串,名字中大写的字母密码中依然大写。
Sample Input
3 Ouyang Wuyou Hao Rongquan Li Jinyu
Sample Output
Owcgvq Iiogo Hcs Xwxseksh Lk Novig
题目大意:
给你一串字符串,然后,让你找出其中的加密方法,对于任意输入的一串字符,输出这个加密后的字符串。。。
解题思路:
其实,只要写出a-z或A-Z的对应关系,就不难看出来,这个字符的对应关系是很简单的,我们只要对于第一个字符在其基础上加2*(i-space)的个数就可以,
因为space的话,不会被参加计算的,但是i的值会增加1,所以使用这个方法,就能够很避免另外在开设一个变量了。
下来就是关于一个字符转化成为另外一个字符的方法了,那就是先找到一个基准,如果以前是大写字母,就找A。如果以前是小写字母, 就找到a。
ch = (ch-'A'+(i-space))%26+'A';
就可以将ch通过某种加密变成另外一个字符了,小写只要把基准改为‘a’,就可以了。
getline(cin,str);就是相当于c语言中的gets(s);因为str中含有空格,所以就会出现这样遇见空格就停止输入的情况。。。
代码:
# include<cstdio> # include<iostream> # include<algorithm> # include<cstring> # include<string> # include<cmath> # include<queue> # include<stack> # include<set> # include<map> using namespace std; # define inf 999999999 string str; int main(void) { int t;cin>>t; getchar(); while ( t-- ) { getline(cin,str); int space = 0; for ( int i = 0;i < str.length();i++ ) { char ch = str[i]; char d; if ( ch <='Z'&&ch >= 'A' ) d = 'A'; else d = 'a'; if ( isalpha(ch) ) { ch = ((ch-d)+(i-space)*2)%26+d; } if ( ch==' ' )space++; printf("%c",ch); } printf("\n"); } return 0; }
相关文章推荐
- 回复:String中如果有中文,如何保证length()返回的长度 在 Java 中字符串是以 Unicode 方式编码的,所以,无论中英文都算的长度为 1。根据你的描述,估计是想要取得英文长度为 1 中文长度为 2 的总长度吧。这个,理论上可以构造 An
- 我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
- 菜鸟如何用servlet模拟一个简单的登陆
- 452A - Eevee 模拟字符串,挺简单的一道题
- 使用Socket模拟简单的C/S通信,客户端之间如何互发文件
- 如何判断一个字符串的编码类型?
- PHP & Javascript 如何对字符串中包含html标签进行编码 整理
- 如何输出一个某种编码的字符串?
- FZU 2122 又见LKity 简单的字符串模拟
- Javascript最简单的把html字符串编码的方法
- 如何自动的检测字符串编码
- 对字符串的编码解码——可做简单的加密解密
- 如何测试文件或字符串的编码?
- C++Builder(XE)如何转换字符串编码为UTF-8并转换成char数组
- 写一个简单的爬虫 - 如何模拟登录网站
- Flex 3中如何显示被存储为Base64编码字符串的图片的例子
- 如何简单模拟Web服务
- 如何将字符串编码成二进制?
- 如何用servlet模拟一个简单的登陆
- PHP & Javascript 如何对字符串中包含html标签进行编码 整理