博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SCAU 1078 破密
阅读量:6306 次
发布时间:2019-06-22

本文共 876 字,大约阅读时间需要 2 分钟。

1078 破密

时间限制:1000MS  内存限制:65536K 提交次数:258 通过次数:77

题型: 编程题   语言: 无限制

Description

有一行英文密码,友军急切地想知道原文是什么,现知道加密的方法如下: (1)第一个字母的密文与原文相同;(2)从第二个字母开始,每一个字母的密文的ACSII码等于上一个字母的(密文的ACSII码-32)+(原文ACSII-32)的和再与96取模(即取余数)最后加上32 现由键盘给出一行密文(最多不超过10000个字母),要求输出原文。

Input

一段密文(以EOF结束)

Output

明文

Sample Input

W<(tXG5z&m\K/

Sample Output

Welldone,good

Provider

admin

 

#include 
int main(){ int count = 0; char pch, rch, temp; while((rch = getchar()) != EOF) { if(!count++) {pch = rch; putchar(rch);} else { temp = rch - pch + 32; while(temp<32) temp += 96; putchar(temp); pch = rch; } } printf("\n"); return 0;}

解题思路:

按照题目所示推思路,注意理解这句的意思:每一个字母的密文的ACSII码等于上一个字母的(密文的ACSII码-32)+(原文ACSII-32)的和, 这里的原文ACSII指的

不是上一个字母的原文的ACSII码

 

转载于:https://www.cnblogs.com/liaoguifa/archive/2012/11/18/2776528.html

你可能感兴趣的文章
用sqlplus远程连接oracle命令
查看>>
多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】...
查看>>
自动生成四则运算题目
查看>>
【翻译】使用新的Sencha Cmd 4命令app watch
查看>>
【前台】【单页跳转】整个项目实现单页面跳转,抛弃iframe
查看>>
因为你是前端程序员!
查看>>
数据库设计中的14个技巧
查看>>
Android学习系列(5)--App布局初探之简单模型
查看>>
git回退到某个历史版本
查看>>
ecshop
查看>>
HTML5基础(二)
查看>>
在GCE上安装Apache、tomcat等
查看>>
在Mac 系统下进行文件的显示和隐藏
查看>>
ue4(c++) 按钮中的文字居中的问题
查看>>
技能点
查看>>
读书笔记《乌合之众》
查看>>
Hadoop日记Day1---Hadoop介绍
查看>>
iOS 学习资料汇总
查看>>
centos7 yum安装jdk
查看>>
Bluedroid与BluZ,蓝牙测试方法的变动(基于bludroid和BlueZ的对比)
查看>>