C语言,在线等,很急

2025-02-05 16:41:14
推荐回答(1个)
回答1:

#include 
#define N 10000000
int m[N];
void set()
{
    int i,j;
    for(i = 2; i < N; i ++)
    {
        if(m[i]) continue;
        for(j = i+i; j            m[i] =1;
    }
}
int main()
{
    int n,cnt=0;
    set();
    scanf("%d",&n);
    while(n>1)
    {
        if(m[n] == 0) cnt++;
        n--;
    }
    printf("%d\n", cnt);
    return 0;
}