求范围素数个数
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int hs[100000];
int main()
{
hs[0]=1;
hs[1]=1;
vector<int> da;
for(int i=2;i<((int)sqrt(100000)+2);i++)
{
for(int j=i+1;j<100000;j++)
{
if(j%i==0)
{
hs[j]=1;
}
}
}
for(int i=1;i<100000;i++)
{
if(hs[i]==0)
{
da.push_back(i);
//cout<<i<<" ";
}
}
/*
for(int i=1;i<1000;i++)
{
if(hs[i]==0)
{
cout<<i<<" ";
}
}*/
while(1)
{
int a,b;
cin>>a>>b;
if((a==-1)&&(b==-1))
{
break;
}
int jg=0;
for(int i=0;i<da.size();i++)
{
if((da[i]>=a)&&(da[i]<=b))
{
jg++;
}
}
cout<<jg<<endl;
}
return 0;
}