Cod sursa(job #209115)

Utilizator tamicTamas Iulia tamic Data 20 septembrie 2008 20:05:50
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <stdio.h>
#include <math.h>

FILE *fin,*fout;
bool p[2000001];
long  i,j,n,n2,prim=0;

int main(){
	fin=fopen("ciur.in","r");
   fout=fopen("ciur.out","w");
   fscanf(fin,"%ld",&n);
   n2=sqrt(n);
   for(i=2;i<=n2;i++)
   	if(!p[i])
      	for(j=i*i;j<=n;j+=i) p[j]=1;
   for(i=2;i<=n-1;i++)
   	if(!p[i]) prim++;
   fprintf(fout,"%ld\n",prim);
   fclose(fin); fclose(fout);
   return(0);
}