Cod sursa(job #154077)

Utilizator swift90Ionut Bogdanescu swift90 Data 10 martie 2008 21:49:46
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<stdio.h>
char nr[2001000];
int main(){
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	int n,i,j,sum;
	scanf("%d",&n);
	for(i=4;i<=n;i+=2)
		nr[i]=1;
	for(i=3;i<=n;i+=2){
		if(nr[i]==0){
			for(j=i+i;j<=n;j+=i)
				nr[j]=1;
		}
	}
	sum=1;
	for(i=3;i<=n;i+=2){
		if(nr[i]==0)
			++sum;
	}
	
	printf("%d\n",sum);
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}