【阔别许久的博】【我要开始攻数学和几何啦】【高精度取模+同余模定理,*】POJ 2365 The Embarrassed Cryptographer

题意:给出一大数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];这样则可以利用以下方式求得

1 for(int i = 0; i < len; i++)
2 {
3     int pos = (len+2-i)/3-1;
4     kt[pos] = kt[pos]*10+(k[i]-‘0‘);
5 }
6 cnt = (len+2)/3;
1 bool BI_Mod(int x)
2 {
3     int ans = 0;
4     for(int i = cnt-1; i >= 0; i--)
5     {
6         ans = (int)(((LL)ans*1000+kt[i])%x);
7     }
8     return ans;
9 }
时间: 2024-10-08 09:30:13

【阔别许久的博】【我要开始攻数学和几何啦】【高精度取模+同余模定理,*】POJ 2365 The Embarrassed Cryptographer的相关文章

期待许久的事情终于发生-微软收购Xamarin

刚在VS推送的新闻中看到了醒目的标题:Microsoft to acquire Xamarin and empower more developers to build apps on any device,来自微软云端与企业部门执行副总裁Scot Guthrie的博客.原文链接:http://blogs.microsoft.com/blog/2016/02/24/microsoft-to-acquire-xamarin-and-empower-more-developers-to-build-

零点四六 (一篇躺在桌面许久的文字)

这个点,本是缩在被窝,做着美梦的时候 我却什么都没穿,坐在电脑前面故作矫情的发着牢骚,只因热水器烧水的时候忘了加水,兴冲冲的进去,冰冰凉的出来 有个时候当你想去做某件事的时候,发现前奏的事情却根本还是无从说起 被网络,游戏,香烟,操蛋的生活鞭笞得体无完肤的我,思想也渐渐空洞,过着每天不知所谓的忙碌的生活,行尸走肉 一把椅子,一本“初中生”,合适的阳光和位置,一晃就是一下午的时光似乎早已离我远去,仿佛都在怀疑这份记忆的真实 又是一年中的冬天,天气依旧的寒冷,嘴上说着不穿秋裤,但是双腿却是老实的发抖

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

记录一个蛋疼许久的问题和c语言的一个不太好的地方

在学习的过程中,发现了一个感觉c语言设计中不太好的地方,就是当free内存失败的时候.我造成的错误是因为动态内存越界了,编译器却把free()函数报错,简直感觉有些不能忍受.应该在设计的时候第一时间将问题暴露在那个越界了的地方,否则会让人莫名其妙,难以找到错误,为此浪费时间和精力. 另一个是关于txt文件的读取问题,一我这次学了个乖,每次操作的时候,务必记住了,当前的txt文件是什么编码,否则出现了错误就让人有些摸不着头脑,完全影响了学习的心情.以后注意不再犯了.仅作一个记录.

获得其他程序弹出菜单的内容(一个困扰许久的问题o(╯□╰)o)

刚开始到现在公司的时候接到一个任务:开发一个activex控件,自动操作本地exe程序,当时遇到弹出菜单无法获取的问题,还好不影响,最近又遇到这个问题,绕不过去了,于是昨天花了一个上午百度了个遍,总算解决了...网上也有人遇到类似的问题,但是都没人给出一个完整解决方案来,所以记录下来,以备后用. 核心代码:windows系统其实只有一个弹出菜单,类型为#32768,但是FindWindow获取的是窗口句柄,需要发送MN_GETHMENU 0x01E1消息转换成菜单句柄,然后通过菜单的API进行其

闪念-许久未来一切没变

好久好久没来逛社区了,前几天有空登录进来看看,好多以前的老朋友都还在,甚是欣慰.有种亲切的感觉,时间真的很快,差不多有3-4年没来玩社区了.经历了两家互联网行业级Top3的公司一度没有时间逛社区,玩社区交流. 没日没夜的工作加班7X24的OnCall(几乎现在已经习惯,期间挤时间看完大小102本书),锻炼成的别人眼中的铜墙铁壁,攻坚克难的打手.辛苦虽然辛苦,但是心态完全变了,迎来了质的改变,没有了抱怨. 经历的越多看的越开,人生越成熟.经历了亲人的离别,孩子的摧残,老婆的抱怨,生活的磨练.似乎把

沉寂许久,来一个工具——supervisor

注意由于supervisor不能监控后台程序,所以command执行的命令都需要放前台执行,比如nginx:command = /usr/local/bin/nginx -g 'daemon off;' 说下这个工具的好处:管理你的进程,异常终止自动重启服务进程机器关机,开机也自动启动服务进程集中管理,可以批量重启服务进程安装supervisor yum install epel-release yum install -y supervisor systemctl enable supervi

Python程序员段位自测:奋斗许久,你是青铜还是王者?

Python的使用场景实在太丰富,从入门编写各种小程序,到爬虫.到全栈.到自动化.到大数据.到AI,各式各样的场景中都能看见Pthon的身影.这样一门拥有光明前景的语言,他的使用者应该如何划分段位呢? 青铜 对不起,我只能算是卧底. Python的一大特点是入门简单,但这并不意味着你可以轻松入门.我们在工作和生活中都可以见到这样的人,初步掌握了Python语法,但高级技巧和编程思想几乎为0,常见于接触编程两三个月的初学者.刚刚玩转PyCharm,搞懂了变量.常量.数据类型,会写循环.会调函数,但

困然许久的vertical-aligin,间隙的出现并不是bug,!!!!

最近学习一个html,出现一个奇怪的现象,话不多说先贴代码. `<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> *{ margin:0; padding:0px; font-size: 26px; line-heig