Cod sursa(job #392829)

Utilizator NadoluBogdanNadolu Bogdan NadoluBogdan Data 8 februarie 2010 14:19:09
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<stdio.h>
int n,x,d,i,j,q,a,b,s;
int v[500001];
int main(){
	FILE * f = fopen("densistate.in","r");
	fscanf(f,"%d %d",&n,&q);
	v[1]=v[0]=0;
	for(i=2;i<=n;i++){
		if(v[i]==0){
			x++;
			v[i]=v[i-1]+1;
			for(j=i+i;j<=n;j+=i)
				v[j]=1;
		}
		else
			v[i]=v[i-1];
	}
	FILE * g = fopen("densitate.out","w");
	for(i=1;i<=q;i++){
		fscanf(f,"%d %d",&a,&b);
		s=v[b]-v[a-1];
		fprintf(g,"%d\n",s);
	}
	
	fclose(f);
	fclose(g);
	return 0;
}