Cod sursa(job #669625)

Utilizator davidoceaSintamarian David davidocea Data 27 ianuarie 2012 14:40:51
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <cstdio>
#include <bitset>
using namespace std;
bitset<2000005> f;

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