NYOJ 769 乘数密码 (字符串)
来源:互联网 发布:淘宝上优衣库代购真吗 编辑:程序博客网 时间:2024/06/05 17:06
乘数密码
时间限制:1000 ms | 内存限制:65535 KB
难度:1
- 描述
乘数密码也是一种替换密码,其加密变换是将明文字母串逐位乘以密钥k并进行模运算,数学表达式如下:
E(m)=k*m mod q, gcd(k,q)=1 (即k,q互素)。
当k与q互素时,明文字母加密成密文字母的关系为一一映射。
现有一经过乘法加密的密文,请破译出它的明文。
- 输入
- 输入包含多组数据,不超过1000组。
每组包含一个字符串和一个正整数k,字符串全部由大写字母组成,长度不超过50,k是与q互素的数,q=26,k<26。 - 输出
- 每组输出数据单独占一行,输出对应的明文。
- 样例输入
ILOVEYOU 3
- 样例输出
UVWHKIWY
A,B..........Z 对应的位数为 0,1..........25,
已AC代码:
#include<cstdio>#include<cstring>char ch[50],str[100];void translate(int k) // 建立明文 与暗文的映射 {int i;for(i=0;i<26;++i) // 将明文转换为暗文 ch[i*k%26]=i+'A'; //ch的坐标为暗文,其对应值为明文 }int main(){int k,i,len;while(scanf("%s%d",str,&k)!=EOF){translate(k);// 密钥 k 是变化的 len=strlen(str);for(i=0;i<len;++i)str[i]=ch[str[i]-'A'];printf("%s\n",str);}return 0;}
0 0
- NYOJ 769 乘数密码 (字符串)
- nyoj-769-乘数密码
- nyoj-769-乘数密码
- 769 乘数密码【字符串】
- NYOJ 769 乘数密码【暴力求解】
- NYOJ-769乘数密码,逆元解法;
- 769 乘数密码
- 乘数密码
- nyist 769 乘数密码(扩展欧几里得求逆元)
- NYOJ-770仿射密码,乘数密码与移位密码的结合;
- nyoj769乘数密码
- NYOJ 768 移位密码 (字符串)
- 乘数密码 扩展欧几里得求逆元
- NYOJ 770 仿射密码 (字符串&数学)
- 字符串基础题2道-NYOJ-113(字符串替换)-519(密码发生器)
- 字符串替换(NYOJ)
- POJ 2505(博弈乘数)
- 拉格朗日乘数法(二)
- asm diskgroup中的Usable_file_MB和Req_mir_free_MB
- Spring 注解Aop实现
- MAT(Memory Analyzer Tool)工具入门介绍
- 使用__attribute__处理对齐问题
- 关于获取text类型value的一个小问题
- NYOJ 769 乘数密码 (字符串)
- Python脚本10 —— 复制json文件并替换指定字段
- ElasticSearch的虚拟机VM配置
- AVFoundation视频相关参数
- Compatibility with non-GNU compilers
- 布洛芬
- Josephus
- PXE启动芯片出错代码表初始化/引导/载入Bootstrap错误代码
- JAVA中的Random()函数