Cod sursa(job #880104)
| Utilizator | Data | 16 februarie 2013 12:00:46 | |
|---|---|---|---|
| Problema | Loto | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include<stdio.h>
using namespace std;
int i,j,k,n,o,p[500100],a,b,q;
char v[500100];
int constr(int o)
{
for(int i=2;i<=o;i++)
{
if(!v[i])
{
p[i]=p[i-1]+1;
for(int j=i+i;j<=o;j+=i)
{
v[j]=1;
}
}
else
{
p[i]=p[i-1];
}
}
}
void afis()
{
printf("%d\n",p[b]-p[a-1]);
}
int main()
{
freopen("densitate.in","r",stdin);
freopen("densitate.out","w",stdout);
scanf("%d%d",&n,&q);
constr(n);
for(i=1;i<=q;i++)
{
scanf("%d%d",&a,&b);
afis();
}
return 0;
}