在一个区间内求这个区间素数的个数

img

#include <iostream>
using namespace std;
const int N = 1e6 + 10;
int isprime[N + 1];
int main()
{
    //筛选出2-N的素数
    for (int i = 2; i <= N; i++)
    {
        isprime[i] = 1;
    }
    for (int i = 2; i * i <= N; i++)
    {
        if (isprime[i])
        {
            for (int j = i * i; j <= N; j += i)
            {
                isprime[j] = 0;
            }
        }
    }
    int n = 0, m = 0, cnt = 0;
    cin >> n >> m;
    for (int i = n; i <= m; i++)
    {
        if (isprime[i] == 1) cnt++;
    }
    cout << cnt << endl;
    return 0;
}

在oj上这个代码过不了

img