Cod sursa(job #1449398)

Utilizator ChicotRadu Stefan Chicot Data 9 iunie 2015 14:55:46
Problema Ciurul lui Eratosthenes Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 0.61 kb
/*
 * main.c
 *
 *  Created on: Jun 9, 2015
 *      Author: Admin
 */
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
	int *a=0;
	int i,j,N,nr=0;

	FILE *in;
	FILE *out;

	in=fopen("ciur.in","r");
	out=fopen("ciur.out","w");

	fscanf(in,"%d", &N);

	a=malloc(N*sizeof(int));

	for(i=0;i<=N;++i)
	{
		a[i]=1;
	}

	a[0]=0;a[1]=0;

	for(i=2;i<=N;i++)
	{
		if(a[i]==1)
		{
			for(j=i+i;j<=N;j+=i)
			{
				a[j]=0;
			}
		}

	}

	for(i=0;i<=N;i++)
	{
		if(a[i]==1)
		{
			++nr;
		}
	}


	fprintf(out,"%d", nr);

	fclose(in);
	fclose(out);
	free(a);

	return 0;

}