Cod sursa(job #260833)

Utilizator adelinavVidovici Adelina adelinav Data 17 februarie 2009 16:22:15
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>
#include<stdlib.h>
#define NMAX 2000000

int main(){
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);

long long vprim[NMAX+1]={1,1};
int vsume[NMAX+1];

long long i,j,n;

scanf("%lld\n",&n);

for(i=2;i<=n;i++){
		if(vprim[i]==0)
			for(j=2;j*i<=n;j++)
				vprim[j*i]=1;
}
vsume[0]=0;
for(i=1;i<=n;i++){
	if(vprim[i]==0)
		vsume[i]=vsume[i-1]+1;
	else vsume[i]=vsume[i-1];
}

printf("%d\n",vsume[n]);


return 0;
}