Cod sursa(job #542454)

Utilizator alexalghisiAlghisi Alessandro Paolo alexalghisi Data 26 februarie 2011 13:44:58
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#include <iostream>
using namespace std;

int main()
{
	unsigned int N,i,j;
	bool ok,prim[2000000];
	FILE *intrare,*iesire;
	intrare=fopen("ciur.in","r");
	fscanf(intrare,"%d",&N);
	for(i=2;i<=N/2;i++)
	{	
		ok=true;
		for(j=2;j<=(i/2);j++) if(i%j==0) {ok=false;	prim[i]=1; break;}
		if(ok==true)
		for(j=(i+1);j<=N;j++)
		{
			if(j%i==0) prim[j]=1;
		}
	}
	iesire=fopen("ciur.out","w");
	j=0;
	for(i=2;i<=N;i++) if(prim[i]==0) j=j+1;
	fprintf(iesire,"%d",j);
	fclose(iesire);
	fclose(intrare);
	return 0;
}