Cod sursa(job #841786)

Utilizator Brz_VladBrezae Vlad Brz_Vlad Data 24 decembrie 2012 22:06:11
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.5 kb
#include <stdio.h>
#include <math.h>

#define MAXN 2000001

char neprim[MAXN];
int prime;
int n;

void ciur()
{
	int i,j;
	int m = (int)sqrt(n);
	for(i=2;i<=m;i++){
		if( neprim[i] == 0 ){
			for(j=2;j<=n/i;j++){
				if( neprim[i*j] == 0 ){
					prime--;
					neprim[i*j] = 1;
//					printf("%d nu e prim\n",i*j);
				}
			}
		}		
	}
}

int main(int argc, char* argv[])
{
	freopen("ciur.in","r",stdin);
	freopen("ciur.out","w",stdout);
	
	scanf("%d",&n);
	prime = n-1;
	
	ciur();
	
	printf("%d",prime);

	return 0;
}