0
点赞
收藏
分享

微信扫一扫

算法:素数筛选


#include <stdio.h>
#include <stdlib.h>
int main(void) {
    //这个是输出1000以内的素数
    //如果是素数,prime[]=0;
    int prime[1000];
    int i=0,j=0; 

    //这个是初始化
    for (i = 0; i < 1000; ++i)
    {
        prime[i]=0;    
    }
    prime[0]=1;
    prime[1]=1;

    //素数筛选法的要点就是素数的倍数肯定不是素数。
    //素数是从2开始的,所以i=2;
    //
    for( i=2;i<1000;i++){
        if(prime[i]==0){
            for( j=i*2;j<1000;j+=i)
                prime[j]=1;
        }
    }
    for ( i = 0; i < 1000; ++i)
    {
        if(prime[i]==0)printf("%d ",i);
    }
    return 0;
}

 

举报

相关推荐

0 条评论