View Code of Problem 103

#include<iostream>
#include<cmath>

using namespace std;

bool isPrime(const int n) {
	if (n == 1) {
		return false;
	}
	for (int i = 2; i <= sqrt(n); ++i) {
		if (n % i == 0) {
			return false;
		}
	}
	return true;
}

int arr[1000000];

int main() {
	int cnt = 0;
	for (int i = 1; i < 1000000; ++i) {
		if (isPrime(i)) {
			arr[i] = ++cnt;
		}
		else {
			arr[i] = cnt;
		}
	}

	int a, b;
	while (cin >> a >> b) {
		cout << arr[b] - arr[a - 1] << endl;
	}
}

Double click to view unformatted code.


Back to problem 103