Cod sursa(job #830540)

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

char a[2000001];
int i,N;


int main(){
	int x;
	int cnt=1;
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	i=0;
	scanf("%d",&N);

	//for (i=4;i<N;i+=2) a[i]=1;
	
	for (i=3;i<N;i+=2){
	 if (a[i]==0){
	 
		a[i+1]=1;
		x=i*2;
		while (x<N){
			a[x]=1;
			x+=i;
		}
		if (a[i]==0) cnt++;
	 }
	}
	//for (i=2;i<N;i++){
	//	if (a[i]==0) cnt++;
	//}
	
	printf("%d",cnt);
	return 0;
}