Cod sursa(job #539288)

Utilizator slycerdan dragomir slycer Data 22 februarie 2011 20:17:12
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
	FILE * in = fopen("ciur.in","r");
	FILE * out = fopen("ciur.out","w"); 
	
	//printf("asa da"); 
	//printf("asa da%ld",sizeof(char));
	
	int n; 
	fscanf(in,"%d",&n); 
	char * c = calloc(n+1,sizeof(char));
	c[0] = 1;
	c[1] = 1; // 1 nu este prim
	int i,j,count=0; 
	for ( i=2; i<=n; i++){
		// daca este prim
		if ( !c[i] ){
			count++; 
			for ( j=i*2; j<=n; j+=i){
				c[j] = 1; 
			}
		}
	}
	
	fprintf(out,"%d",count);
	
	free( c ); 
	fclose( out ); 
	fclose(in); 
	return 0; 
}