博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1317
阅读量:6911 次
发布时间:2019-06-27

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

简单模拟

View Code
#include 
#include
#include
#include
using namespace std;#define maxl 75int key;char cipher_text[maxl];char plain_text[maxl];bool is_letter(char ch){ return ch <= 'z' && ch >= 'a';}int get_code(char ch){ if (is_letter(ch)) return ch - 'a' + 1; if (ch == '_') return 0; if (ch == '.') return 27; return -1;}char get_text(int a){ if (a <= 26 && a >= 1) return a + 'a' - 1; if (a == 0) return '_'; if (a == 27) return '.'; return -1;}int unify(int a, int w){ return (a % w + w) % w;}int main(){ //freopen("t.txt", "r", stdin); while (scanf("%d", &key), key) { scanf("%s", cipher_text); int len = strlen(cipher_text); for (int i = 0; i < len; i++) plain_text[unify(key * i, len)] = get_text(unify(get_code(cipher_text[i]) + i, 28)); plain_text[len] = 0; puts(plain_text); } return 0;}

 

转载地址:http://ktncl.baihongyu.com/

你可能感兴趣的文章
C语言程序设计_zju——第3周编程练习1_时间换算
查看>>
Nodejs调用Aras Innovator服务,处理AML并返回AML
查看>>
纯数学教程 Page 324 正项级数绝对收敛的一种判别法
查看>>
解析函數論 Page 29 命題(1) 有界閉集上的一致連續性
查看>>
oracle 两个timstamp类型相减获取时间差
查看>>
简单工厂设计模式-模拟磁盘打开文件
查看>>
C#实体类get和set的作用
查看>>
表单验证<AngularJs>
查看>>
18.os模块获取url后缀
查看>>
精通正则表达式之正则引擎
查看>>
apache安装的一些问题
查看>>
SqlServer 为字段列添加扩展属性
查看>>
dev TreeList 节点联动
查看>>
汇编实验一——利用这3条指令计算2的8次方
查看>>
Java内部类
查看>>
GNU :6.47 Function Names as Strings
查看>>
Shell脚本编程(一)
查看>>
习题10-1 UVA 11040(无聊水一水)
查看>>
Robotframe work之环境搭建(一)
查看>>
uvm_reg_adapter——寄存器模型(十八)
查看>>