题目链接;uva 12253 - Simple Encryption

题目大意:给定K1。求一个12位的K2,使得KK21=K2%1012

解题思路:按位枚举,不且借用用高速幂取模推断结果。

#include <cstdio>
#include <cstring>
#include <algorithm>using namespace std;
typedef long long ll;
const ll ite=(1<<20)-1;ll N;/*
ll mul_mod (ll x, ll n, ll mod) {ll ans = 0;x %= mod;n %= mod;while (n) {if (n&1)ans = (ans + x) % mod;x = 2 * x % mod;n >>= 1;}return ans;
}
*/
ll mul_mod(ll a, ll b, ll mod) {return (a * (b>>20) % mod * (1ll<<20) %mod + a*(b&(ite)) % mod) % mod;
}ll pow_mod (ll x, ll n, ll mod) {ll ret = 1;while (n) {if (n&1)ret = mul_mod(ret, x, mod);x = mul_mod(x, x, mod);n >>= 1;}return ret;
}bool dfs (int d, ll u, ll mod) {if (d == 12) {if (u >= 1e11 && pow_mod(N, u, mod) == u) {printf("%lld\n", u);return true;}return false;}for (int i = 0; i < 10; i++) {if (pow_mod(N, i * mod + u, mod) == u) {if (dfs(d+1, i * mod + u, mod * 10))return true;}}return false;
}int main () {int cas = 1;while (scanf("%lld", &N) == 1 && N) {printf("Case %d: Public Key = %lld Private Key = ", cas++, N);for (int i = 0; i < 10; i++) {if (dfs(1, i, 10))break;}}return 0;
}

uva 12253 - Simple Encryption(dfs)相关推荐

  1. [uva]AncientMessages象形文字识别 (dfs求连通块)

    非常有趣的一道题目,大意是给你六种符号的16进制文本,让你转化成二进制并识别出来 代码实现上参考了//http://blog.csdn.net/u012139398/article/details/3 ...

  2. UVALive 4998 Simple Encryption

    题目描述: 输入正整数K1(K1<=5000),找一个12位正整数K2使得K1K2=K2(mod 1012). 解题思路: 压缩映射原理:设X是一个完备的度量空间,映射ƒ:Χ→Χ 把每两点的距离 ...

  3. UVa 10019 - Funny Encryption Method

    题目:给你一个数字,统计他是十进制数和十六进制数时转化为二进制后每个位上1的个数. 分析:简单题.先按十进制算,然后统计每位上的数字转化成二进制即可.(十六进制每位对应4个二进制位) 注意:用cin无 ...

  4. uva 10019 Funny Encryption Method

    进制转换,找1的个数. #include<iostream> #include<string.h> #include<stdio.h> #include<ct ...

  5. uva 10014 Simple calculations(数学推导)

    直接按照题意来推导最后的结果就行了. 开始的时候只做到了第一个推导,第二次没有继续下去. 代码: #include<stdio.h>int main() {int T, n, i;doub ...

  6. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  7. 《算法入门经典大赛——培训指南》第二章考试

    UVa特别考试 UVa站点专门为本书设立的分类题库配合,方便读者提交: http://uva.onlinejudge.org/index.php?option=com_onlinejudge& ...

  8. π-Algorithmist分类题目(1)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(1) Sorting UVAL ...

  9. [ Hadoop 3.2.1 官方文档 ] Hadoop 开启 Kerberos 安全模式

    一. 介绍 本文档介绍了如何在安全模式下为Hadoop配置身份验证.将Hadoop配置为以安全模式运行时,每个Hadoop服务和每个用户都必须通过Kerberos进行身份验证. 必须正确配置所有服务主 ...

最新文章

  1. 【JAVA小游戏+水果售卖系统】基于GUI界面编程的水果“人生”模拟系统
  2. leetcode--罗马数字转整数--python
  3. 周末--------粉红色的回忆
  4. 《More Effective C++》读书笔记
  5. mysql 连接器配置_配置连接器 - 金融分布式架构 SOFAStack - 阿里云
  6. 我的 FPGA 学习历程(11)—— 实验:按键消抖
  7. C语言对strtok(),与strdup()介绍
  8. 24-单调递增最长子序列(多种解法总结)
  9. java常见_关于Java的常见误解
  10. 国家开放大学2021春1474临床医学概论(本)题目
  11. ofstream/ifstream 文本/二进制 方式 读入/写出 数据方法
  12. python数据结构实验目的_图的基本操作实现(数据结构实验)
  13. 鱼和熊掌兼得---STM32调试接口SW动态复用为GPIO的方法
  14. 二本计算机软件工程专业大学排名,哪些二本大学的软件工程专业最好
  15. 笔记本双显卡 EFI 启动安装 ArchLinux
  16. html图片无损压缩,有损压缩和无损压缩的区别是什么
  17. php求圆的周长面积,c语言实现输入圆的半径计算圆的面积_后端开发
  18. npm install 连接不上github解决办法
  19. CSS全局样式,震撼来袭免费下载!
  20. BLE低功耗蓝牙和传统蓝牙的五大区别

热门文章

  1. wifi 中间人攻击_揭秘3·15晚会“Wi-Fi中间人攻击”的操作原理
  2. The content of element type web-app must match……等 问题之解决办法
  3. 【转】基于SQL的Web系统安全防范——SQL注入漏洞
  4. VirtualBox 虚拟机迁移-克隆
  5. DEDECMS之九 文章采集
  6. java大神养成计划
  7. 为链接加上加载等待信息
  8. go-echarts x 轴标签显示不全
  9. Linux 命令(81)—— chmod 命令
  10. C++11 强类型枚举