/*
Description
A pretty straight forward task, calculate the number of primes between 2 integers.
Given 2 integers A ≤ B < 105 what’s the number of primes in range from A to B inclusive.
Note: A prime number is a positive integer greater than 1 and is divisible by 1 and itself only. For N to be prime it is enough to test the divisibility of numbers less than or equal to square root of N.
Input
As many as 1000 lines, each line contains 2 integers A and B separated by a space. Input is terminated when A = B = -1 (Do not process this line).
Output
For every line in input – except for the last line where A = B = -1 - print the number of prime numbers between A and B inclusive.
Sample Input
0 9999
1 5
-1 -1
Sample Output
1229
3
Source
Seventh ACM Egyptian National Programming Contest
*/
#include<iostream>
using namespace std;
bool isPrime(int n)//判断是否是素数
{
if(n==1||n==0) return false;//1不是素数
if(n!=2&&n%2==0) return false;//2是素数,清除2的倍数
for(int i=3; i*i<=n; i=i+2)
{
if(n%i==0) return false;
}
return true;
}
int main()
{
int a,b;
int count;
while(cin>>a>>b)
{
count=0;
if(a==-1&&b==-1)
break;
for(int i=a; i<=b; i++)
{
if(isPrime(i)) count++;
}
cout<<count<<endl;
}
return 0;
}