首先从2开始自然数序列 2,3,4,5,6,7,8,9,10,11,12,13,14…… 剔除2和2 的倍数,奇数列 3,5,7,9,11,13,15,17,19…… 剔除3的倍数 5,7,11,13,17,19 剔除5的倍数,以此类推 #创建一个奇数序列 def jishu(): n=1 whil ...
分类:
编程语言 时间:
2017-11-11 11:45:04
阅读次数:
233
├─algorithm│ Python用户推荐系统曼哈顿算法实现.py│ NFA引擎,Python正则测试工具应用示例.py│ Python datetime计时程序的实现方法.py│ python du熊学斐波那契实现.py│ python lambda实现求素数的简短代码.py│ Python ...
分类:
编程语言 时间:
2017-11-05 21:16:04
阅读次数:
1700
题意:n个格子,m个球,让你把球放入某些格子里,使得所有有球的格子之间的距离(abs(i-j))均为素数 ,让你输出方案数。 只占一个格子或者两个格子显然可行。 占有三个格子的情况下,则必须保证其中两者的间距为2,另两者的间距为一个+2以后仍为素数的素数。这个可以预处理。 占有四个格子的情况下,间距 ...
分类:
其他好文 时间:
2017-10-28 18:52:50
阅读次数:
144
本实验采用了三种方法求素数,分别为:常规法、同余法以及筛选法,代码如下。 常规法: 1 void func1(int max) {//方法1:从2到根号n 2 bool m = true; 3 for (int i = 2; i <= max; i++) { 4 for (int j = 2; j ...
分类:
其他好文 时间:
2017-10-16 00:18:16
阅读次数:
232
入门级筛素数--试除法,复杂度O(n^2) 学了一段时间算法以后,应该会了解到筛法求素数,复杂度略高于O(n) 当然,不难发现,如果MaX值过大的话,不只空间会炸,而且从头开始扫很玄学,是不怎么可取的。 于是引入MILLER RABIN算法。可以单独判断一个大数是否素数,但是不保证正确。我们只能通过 ...
分类:
编程语言 时间:
2017-10-08 22:30:47
阅读次数:
281
题目链接:http://poj.org/problem?id=2689 Time Limit: 1000MS Memory Limit: 65536K Description The branch of mathematics called number theory is about proper ...
分类:
其他好文 时间:
2017-09-22 23:54:22
阅读次数:
226
题目链接:http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=2 Time Limit:3000ms Memory Limit:65536K Description 哥德巴赫(Goldbach ]C.,1690.3.18~176 ...
分类:
其他好文 时间:
2017-09-22 00:57:04
阅读次数:
164
之前在解释求素数的一道习题时,提过一个方法,叫素数筛法。下面就对这种方法的过程进行详细的解读。 之前提到 假设所有待判断的数字的上限是L,声明一个长度为L+1的布尔数组A[L+1]。用这个数组来表示对应下标的数字是不是素数。起初,将数组所有成员标记为1,然后按照某种方法将其中的非素数都标记为0即可, ...
分类:
其他好文 时间:
2017-09-17 01:25:53
阅读次数:
182
素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功。 基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 。。N^(0.5) ,看看能否整除N。 如果需要判断的次数较多,则先用下面介绍的办法预处理。 一般的线性筛法 首先先介绍一般的线性筛法求素数 void make_prim ...
分类:
其他好文 时间:
2017-09-13 17:09:24
阅读次数:
179
线筛,时间复杂度O(N log log N) 原理比较易懂,因为合数可以被分解为两个因数。 所以可以反过来,两个因数的乘积必定不是质数。 所以,通过一次次的枚举两个因数,合数就被“筛选”掉了,只留下质数在筛子里。 按照上述的原理,核心代码本应该是这样的: 然后vis[]数组里为false的的就是质数 ...
分类:
其他好文 时间:
2017-09-10 15:06:36
阅读次数:
236