Cod sursa(job #830519)

Utilizator sebax538sebastian ghetu sebax538 Data 7 decembrie 2012 00:10:09
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <stdio.h>
#include <stdlib.h>

char a[2000001];
int i,N;


int main(){
	int x;
	int cnt=0w;
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	i=0;
	scanf("%d",&N);
	for (i=0;i<N;i++){ //initializare
		a[i]=0;
	}
	for (i=4;i<N;i+=2) a[i]=1;
	for (i=3;i<N;i+=2){
		x=i*2;
		while (x<N){
			a[x]=1;
			x+=i;
		}
	}
	for (i=2;i<N;i++){
		if (a[i]==0) cnt++;
	}
	printf("%d",cnt);
	return 0;
}