Cod sursa(job #973262)

Utilizator the_chosen_oneCristian Badea the_chosen_one Data 13 iulie 2013 20:56:24
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
/*Dandu-se un numar natural N, sa se determine numarul numerelor prime mai mici sau egale cu N.*/
#include<stdio.h>

int main()
{
	FILE *Fin;
	FILE *Fout;
	Fin=fopen("ciur.in","r");
	Fout=fopen("ciur.out","w");
	int n,v[200000],c=0,p,i,j;
	fscanf(Fin,"%d",&n);
	if(n>3){
		c=2;
		v[0]=2;
		v[1]=3;
		for(i=4;i<=n;++i){
			p=1;
			for(j=c-1;j>=0;j--)
				if(i%v[j]==0)
				{
					p=0;
					break;
				}
			if(p==1)
			{
				v[c]=i;
				c++;
			}
		}
		fprintf(Fout,"%d",c);
	}
	else
		if(n==2)
			fprintf(Fout,"1");
		else
			fprintf(Fout,"2");
	fclose(Fin);
	fclose(Fout);
	return 0;
}