【阔别许久的博】【我要开始攻数学和几何啦】【高精度取模+同余模定理,*】POJ 2365 The Embarrassed Cryptographer
2024-10-14 18:10:10
题意:给出一大数K(4 <= K <= 10^100)与一整数L(2 <= L <= 106),K为两个素数的乘积(The cryptographic keys are created from the product of two primes)
问构成K的最小素数是否绝对小于L,若是,则输出BAD p,p为最小素数,否则输出GOOD;
分析:从小到大枚举1~10^6内的素数p,while(p<L)时,判断K是否能被p整除,若能则证明构成K的最小素数绝对小于L,反之则大于L;
Tags:1、素数打表
注意打表时要求最大的素数大于10^6,否则在循环while(p<L)会造成死循环
2、大整数char/string形式输入;
3、所谓同余模定理其最常见的应用就是:(a+b)%n = a%n+b%n; (a*b)%n=(a%n*b%n)%n;
4、大整数取模算法同样适用于高进制的情况(本题为千进制),注意将K转换为千进制时的优化,否则很容易TLE;本题使用的方法为“局部有序,全局倒序”,即
K = 12345678910 = [910][678][345][12];这样则可以利用以下方式求得
for(int i = ; i < len; i++)
{
int pos = (len+-i)/-;
kt[pos] = kt[pos]*+(k[i]-'');
}
cnt = (len+)/;
bool BI_Mod(int x)
{
int ans = ;
for(int i = cnt-; i >= ; i--)
{
ans = (int)(((LL)ans*+kt[i])%x);
}
return ans;
}
最新文章
- html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
- update field
- 120条Photoshop新手必看技巧
- Android应用中MVP最佳实践
- Android 自己的自动化测试(4)&;lt;uiautomator&;gt;
- WCF编写时候的测试
- 西门子PLC学习笔记七-(位逻辑指令)
- c# base和this在构造函数中的应用
- postgis 中的距离计算
- (转)Spring boot——logback.xml 配置详解(二)
- Hbase架构与原理
- [51nod1709]复杂度分析
- 1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
- BZOJ_2212_[Poi2011]Tree Rotations_线段树合并
- node读取文件转换json文件
- 关于Cocos的内存管理机制引发一些异常的解决方案
- pl/sql中文乱码
- 执行js-----Selenium快速入门(十四)
- libevent学习笔记 —— 牛刀小试:简易的服务器
- 20155334 2016-2017-2 《Java程序设计》第十周学习总结
热门文章
- HDU 5806 NanoApe Loves Sequence Ⅱ (模拟)
- Codeforces 600B Queries about less or equal elements(二分查找)
- Nginx应用案例分享:压力测试
- Date String转换
- 多线程/进度条应用(progressbar)
- esxi 5.1 由于断电错误无法启动 报错 bank5 invalid configuration
- Codeforces Gym 100610 Problem E. Explicit Formula 水题
- C#中判断空字符串的3种方法性能分析
- androidstudio can&#39;t run git.exe
- LumiSoft.Net邮件接收乱码问题解决