用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

筛法素数产生器

2012-08-28 作者: 神马举报

[c]代码库

/*筛法素数产生器
语法:result=prime(int a[],int n);
参数:
a[]:	用于返回素数的数组
n:	产生n以内的素数,按升序放入a[]中
返回值:	n以内素数的个数
注意:
 	其中W[],B[]已知,W[i]>0且W[i]与W[j]互质, 求a
*/

int prime ( int a[],int n )
{
	int i,j,k,x,num,*b;
	n++;
	n/=2;
	b= ( int * ) malloc ( sizeof ( int ) * ( n+1 ) *2 );
	a[0]=2;
	a[1]=3;
	num=2;
	for ( i=1; i<=2*n; i++ )
		b[i]=0;
	for ( i=3; i<=n; i+=3 )
		for ( j=0; j<2; j++ )
		{
			x=2* ( i+j )-1;
			while ( b[x]==0 )
			{
				a[num++]=x;
				for ( k=x; k<=2*n; k+=x )
					b[k]=1;
			}
		}
	return num;
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...