首页 > 其他 > 详细

Primes

时间:2014-01-21 00:38:45      阅读:375      评论:0      收藏:0      [点我收藏+]

There is a basic way to judge whether a number is a prime:

int isprime(int x)
{
    int i;
    float fx,sqrtx;
    if(x<=1)
       return 0;
    else if(x==2)
       return 1;
    else
    {
        if(x%2==0)
          return 0;
        else
        {
            fx=x;
            sqrtx=sqrt(fx);
            for(i=3;i<=sqrtx;i+=2)
               if( x%i==0 )
                  return 0;
            return 1;
        }
    }    
}

sieve of Eratosthenes:

void getPrime()
{//筛法 
    int i,j;
    int bound=sqrt((double)n);
    for(i=2;i<n;i++)prime[i]=1;//将所有的数置1,表示这些数都是素数.
    for(i=2;i<bound;i++)
	{//注意从2开始
      for(j=i+i;j<n;j+=i)//将2的倍数置成0,表示不是素数
		prime[j]=0;
    }
}


Primes

原文:http://blog.csdn.net/taoqick/article/details/18373243

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!