新浪博客,发表时间 -- 2009-07-26 19:59:13
//isprime[]布尔型<wbr><wbr><wbr><wbr> p[]整型</wbr></wbr></wbr></wbr>
const int MAX=3000000;<wbr><wbr><wbr><wbr> //求[2,MAX]间的素数</wbr></wbr></wbr></wbr>
bool isprime[MAX+1];
int prime[MAX];
int pnum;<wbr><wbr> //素数表元素总数</wbr></wbr>
void getprime()
{<wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> int i,j;</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> memset(isprime,0,sizeof(isprime));</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> pnum=0;</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> for (i=2;i<=MAX;i++)</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> {</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> if (!isprime[i])<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> prime[pnum++]=i; <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> for (j=0; j<pnum && prime[j]*i<=MAX ; j++)</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> isprime[prime[j]*i] = 1; <wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> if (i%prime[j]==0) break;</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr>
分享到:
相关推荐
素数,应用很广泛的一个数据分类,为方便学习和使用素数。特传此用C语言实现的素数打表。
素数筛法打表 //j=i等价于 j=i*2,即j是i的两倍,而最后的j+=i,则表示下一个循环j是i的3倍,接着4倍。。。 //i的所有2~N倍数肯定都不是素数,因此将flag置为0,直到最后一位。
14988613以内的素数(质数)表 代码见 http://blog.csdn.net/forandever/archive/2009/07/07/4327026.aspx
100万以内的素数表
素数周期表与素数间距定理,陈志义,陈心怡,(1). 根据狄利克雷定理,构建了以30为周期的素数周期表。并按素数的属性及尾数,将规范素数分为8类。(2). 定义第n个素数间距为第n+1个�
一亿以内的质数表 整理出来了
50000000(五千万)以内质数(素数)3001134(约三百万)个,普通pc演算(i7处理器)#质数#素数#合数
从1到10000000的质数表,详细
素数打表法,高效率。关于多个或者单个素数的高效率判别
素数表在密码学中的加解密会经常用到,大整数的RSA加解密也是可以通过小的素数实现的
这是一个提示用户输入数据,然后打印出来我们输入数据以内的所有质数
有关质数的问题,是算法设计常见的数学问题。本代码采用打表的办法,先存储,再输出
简单java示例 需要的朋友可以下载参考 有注释
数据结构中利用线性表和单链表实现筛选素数的功能。
1亿以内的质数(共5761455个数).txt
编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数,调用函数回答以下问题(请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。) (1)输出10000以内的所有素数。 (2...
使用matlab完成素数筛表操作,将其写成子函数的形式,对于输入的任意N,对2到N之间的自然数进行筛选,获取其中的素数
素数周期表与欧拉素数多项式的分析,陈惟昌,陈志义,U(n) = n2 + n + 41称为欧拉素数多项式。当0 ≤ n ≤ 39时,U(n)皆为素数。华罗庚提出,可否求出一数p使n2 − n + p常表素数。本文根据狄利�
这是一个供需要查阅 一亿 以内素数的人使用的素数表。
表中含从2到1130369的87912个素数,对判断一个自然数是否是素数和对较大素数进行分解有很大的帮助