NYOJ-769乘数密码,逆元解法;
来源:互联网 发布:mysql data free 编辑:程序博客网 时间:2024/06/07 05:37
乘数密码
时间限制:1000 ms | 内存限制:65535 KB
难度:1
-> Link <-简单代替密码的第二种,比移位密码稍微复杂点,不过鉴于NYOJ,是完全可以暴力的,这里主要是介绍一种逆元解法;
加密公式:Ek(m)=k*m%q,gcd(k,q)=1;
解密算法:Dk(c)=cK^-1%q,K^-1为k在模q下的乘法逆元。
那么怎么算这个逆元的,可以用扩展欧几里德算法;但注意K^-1*k%q=1;所以也可以暴力解;
#include<bits/stdc++.h>using namespace std;char a[55];int main(){ int x,i; while(~scanf("%s%d",a,&x)) { for(i=1 ;; i++) if((26*i+1)%x==0)//暴力求逆元; break; x=(26*i+1)/x; int n=strlen(a); for(i=0;i<n;i++) printf("%c",x*(a[i]-65)%26+'A'); printf("\n"); } return 0;}
0 0
- NYOJ-769乘数密码,逆元解法;
- nyoj-769-乘数密码
- nyoj-769-乘数密码
- NYOJ 769 乘数密码【暴力求解】
- NYOJ 769 乘数密码 (字符串)
- 769 乘数密码
- 769 乘数密码【字符串】
- 乘数密码
- nyist 769 乘数密码(扩展欧几里得求逆元)
- NYOJ-770仿射密码,乘数密码与移位密码的结合;
- nyoj769乘数密码
- 乘数密码 扩展欧几里得求逆元
- 乘法逆元的扩展欧几里得解法
- 逆元的三种解法
- NYOJ 519 密码发生器
- NYOJ 密码发生器(蓝桥杯)
- NYOJ 768 移位密码
- nyoj-770-放射密码
- 第15周 程序阅读五
- Android返回不退出
- Stdio快捷键
- 第十四周项目一排序函数模板
- MySQL设计规约
- NYOJ-769乘数密码,逆元解法;
- Web Service 的工作原理
- iOS监听键盘上升和降落
- 第16周 阅读程序 (1)
- 第十四周阅读项目(1)
- Android开发中检测网络和获取手机设备和防暴力点击工具类
- TimeUtil
- FL安装Git步骤
- 第9周课后实践1-③