Cod sursa(job #669615)

Utilizator andreidanAndrei Dan andreidan Data 27 ianuarie 2012 14:34:35
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <cstdio>
#include <bitset>

using namespace std;


bitset <1000005> a;


int main (){
	
	int i,j,k=0,x,y;
	
	scanf("%d", &y);
	
	
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	
	for(i=2;i*i<=y;++i){
		if(a[i]==0){
			
			for(j=i*i;j<=y;j=j+i)
			
				a[j]=1;
		}
	}
	
	for(i=2;i<=y;++i)
		if(a[i]==0)
			++k;

	
	printf("%d", k);
	
	return 0;
}