其他分享
首页 > 其他分享> > c 指定范围的质数

c 指定范围的质数

作者:互联网

 

 

 

 

 

#include <stdio.h>
#include <string.h>

int n = 1000000;
int mark[1000001];

int main() {
    int N,M,j;//N和M为指定输出的质数范围
    int c;
    memset(mark, 0, sizeof(mark));//对数组进行清零的函数
    mark[0] = 1;
    mark[1] = 1;

    scanf("%d %d",&N,&M);

    for (c = 2; c * c <= N; c++) {//循环标记
        if(mark[c] != 1){
            for(j=2; j <= n/c; j++){//用倍乘的方式进行标记
                mark[ c * j ] = 1;
            }
        }

    }
    for(c = M; c<=N; c++){//将未标记的数输出,即输出质数
        if(mark[c] != 1){
            printf("%d\n",c);
        }
    }
 
 

    return 0;
}

 

标签:清零,int,质数,指定,mark,include,范围
来源: https://www.cnblogs.com/qingjiawen/p/15073451.html