View Code of Problem 3493

#include <algorithm>
#include <cmath>
#include <cstring>
#include <iostream>
#include <string>
using namespace std;

int arr[100000] = {0};

bool isPrime(int num)
{
    if (num < 2)
        return false;
    for (int i = 2; i <= sqrt(num); i++)
    {
        if (num % i == 0){
            arr[num] = 1;
            return false;
        }
    }
    return true;
}

int main()
{
    int a, b;
    while (scanf("%d %d", &a, &b) != EOF)
    {
        if (a == -1 && b == -1)
            break;
        int cnt = 0;
        for (int i = a; i <= b; i++)
        {
            if (arr[i] != 1 && isPrime(i))
                cnt++;
        }
        printf("%d\n", cnt);
    }
}

Double click to view unformatted code.


Back to problem 3493