题目地址:POJ 2635
先用素数筛把10^6万以内素数筛出来。然后把输入的那个大数转化成数组,并且每三位存成一个数,这样可以节约内存和时间,然后利用同余线性的原理,对那个小整数以内的所有素数枚举,然后判断是否整除,找到最小的能被整除的。
代码如下:
#include
#include
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2015-01-22 23:24:07
阅读次数:
316
首先考虑一个命题:若一个数不是素数,则必存在一个小于它的素数为其的因数。这个命题的正确性是显而易见的。那么,假如我已经获得了小于一个数的所有素数,我们只需要确定该数不能被这些素数整除,这个数即为素数。换个角度:在我获得了一个素数时,将它的所有倍数标记为非素数,这样当我们遍历到一个数时,它没有被任何小...
分类:
其他好文 时间:
2015-01-01 12:28:26
阅读次数:
178
素数筛选素数也叫质数,即只能被1和自己本身整除的数。在程序中,怎样筛选出在一定范围内中的素数呢?我们可以这样做:① 先从2开始找,然后删去这一范围中所有能被2整除的数。② 找到下一个没有被删去的数字n。③ 删去这一范围内中所有能整除n的数。④ 如果n*n>"范围最大值"就跳出,否则跳到第②步。代码:...
分类:
其他好文 时间:
2014-12-27 17:23:50
阅读次数:
123
质数(prime number)又称素数,除了1和它本身外,不能整除以其他自然数,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。最小的质数是2。要判断一个整数N是不是质数很简单,看它是否能被2到sqrt(N)之间的整数整除即可。def isPrime(n): if n%2=...
分类:
其他好文 时间:
2014-12-19 20:31:07
阅读次数:
129
【方法一】
【代码一】
[cpp] view
plaincopy
//判断是否是一个素数
int IsPrime(int a){
//0,1,负数都是非素数
if(a
return 0;
}
//计算枚举上界,为防止double值带来的精度损失...
分类:
编程语言 时间:
2014-12-10 16:26:08
阅读次数:
221
/*
题意:输入有多组数据,每组数据一个n,如果n是素数,输出0否则输出离n最近的两个素数的积,第100000个素数是1299709,所有的素数都在这个范围内
思路:素数筛法加二分查找下界
*/
#include
int a[1299720],pri[100005];
int Serch(int v)//二分查找下界
{
int mid,x=0,y=100001;
...
分类:
其他好文 时间:
2014-12-04 18:06:31
阅读次数:
177
先令n! = a:1 / x + 1 / y = 1 / a => x = y * a/ (y - a)再令k = y - a:于是x = a + a ^ 2 / k => k | a ^ 2故等价于求a ^2的约数个数素数筛一下什么的就好了嘛 1 /************************...
分类:
其他好文 时间:
2014-12-02 20:29:04
阅读次数:
217
publicclasssushu{ publicstaticvoidmain(String[]args){ inti,m=1000; intcount=0; for(i=1;i<=m;i++){ if(prime(i)){ count++; System.out.print(i+""); if(count%10==0){ System.out.println(); } } } System.out.println();System.out.println("1-100..
分类:
其他好文 时间:
2014-12-02 15:27:49
阅读次数:
156
题目位置:1222: 属于ACMer的游戏 猜素数
1222: 属于ACMer的游戏 猜素数
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 88 Solved: 21
[Submit][Status][Web Board]
Description
ACM实验室的众大神们喜欢聚餐大家一起HAPPY 尤其卢学长喜欢请大...
分类:
其他好文 时间:
2014-12-01 16:04:23
阅读次数:
211