Pagini recente » Cod sursa (job #2791722) | Cod sursa (job #2490820) | Cod sursa (job #246355) | Cod sursa (job #2976274) | Cod sursa (job #216268)
Cod sursa(job #216268)
#include<stdio.h>
#define xmax 2*1000*1000+1
char prim[xmax];
int x;
int eratosthenes(char prim[], int x)
{
int i,j,k=0;
for(i=2;i<x;prim[i++]=0); //golim vectorul
for(i=2;i<x;i++)
if(!prim[i]) //daca numarul este prim
{
k++; //memoram ca avem un nou numar prim;
for(j=i;j<x;prim[j+=i]=1); //toate aceste numere nu mai sunt prime
}
return k;
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
scanf("%d",&x);
printf("%d",eratosthenes(prim,x));
fclose(stdin);
fclose(stdout);
return 0;
}