Cod sursa(job #149764)

Utilizator pitbullpitbulll pitbull Data 6 martie 2008 01:43:53
Problema Ciurul lui Eratosthenes Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.6 kb
# include <stdio.h>
# include <math.h>
# define MAX 1000
# define MAXN 100000
int prime[MAXN];
int nr=0,N;


int main (){
	FILE *f=fopen("ciur.in","r");
	fscanf(f,"%d",&N);
	fclose(f);
	
	
	int i,j;
	for (i=0;i<MAXN;i++)
		prime[i]=1;	
	for (i=2;i<=sqrt(MAXN);i++)
		if(prime[i])
			for (j=2;j<MAXN/i;j++)
				prime[j*i]=0;
	for (i=2;i<=MAXN&&i<=N;i++)
			if(prime[i]){
				nr++;
				if(nr>1000)
					break;
			}
	if(nr>1000)
		nr--;
	FILE *g=fopen("ciur.out","wt");
	fprintf(g,"%d\n",nr);
	for (j=2;j<=MAXN&&j<i;j++)
		if(prime[j])
			fprintf(g,"%d ",j);
	fclose(g);
	return 0;
}