求整数N以内的所有质数(筛选法)

求整数N以内的所有质数(筛选法)_c++
求整数N以内的所有质数(筛选法)_c++_02

代码
#include <stdio.h>
#include <string.h>
#include <math.h>

#define MAXNUM 1000001
int mark[MAXNUM];
int main() {
    int N,M;
    scanf("%d %d",&N,&M);
    memset(mark, 1, sizeof(mark));
    mark[0]=0;
    mark[1]=0;
    for (int i=2;i<=sqrt(N);i++) {
        if(mark[i])
            for(int j=i+i;j<=N;j+=i)
                mark[j]=0;
    }
    for(int i=M;i<=N;i++)
        if(mark[i])
            printf("%d\n",i);
    return 0;
}