Pagini recente » Cod sursa (job #214208) | Cod sursa (job #975660) | Cod sursa (job #50908) | Cod sursa (job #2254418) | Cod sursa (job #973277)
Cod sursa(job #973277)
/*
Dandu-se un numar natural N, sa se determine numarul numerelor prime mai mici sau egale cu N.
Date de intrare
Fisierul de intrare ciur.in contine o singura linie pe care se afla numarul N.
Date de iesire
In fisierul de iesire ciur.out se va scrie pe prima linie raspunsul cerut.
Restrictii
2 <= N <= 2 000 000
*/
#include<stdio.h>
#include<math.h>
FILE * Fin,*Fout;
bool ciur1( int i, int n, bool a[2000000])
{
int j=i;
while(i<=n)
{
i+=j;
a[i]=false;
}
}
int main ()
{
Fin=fopen("ciur.in","r"); Fout=fopen("ciur.out","w");
int n,i,c=0;
bool a[2000000];
fscanf(Fin,"%d",&n);
for(i=0;i<=n;++i)
a[i]=true;
for(i=2;i<=n;++i)
{
if(a[i]==false)
continue;
ciur1(i,n,a);
if(a[i]==true)
{
//printf("%d ",i);
c++;
}
}
fprintf(Fout,"%d",c);
fclose(Fin);
fclose(Fout);
return 0;
}