Pagini recente » Cod sursa (job #2683939) | Arhiva de probleme | Cod sursa (job #1520389) | Cod sursa (job #1852292) | Cod sursa (job #1477892)
#include<stdio.h>
const int maxn = 2000005;
bool ciur[maxn];
int n, cnt;
int main()
{
FILE* f1,*f2;
f1=fopen("ciur.in","r");
f2=fopen("ciur.out","w");
fscanf(f1,"%d",&n);
/// fac ciurul propriu-zis
ciur[1] = 1;
for(int i = 2 ; i <= n; ++ i) {
if(ciur[i] == 0) { /// i este rpim si trebuie sa marchez toti multipli sai
/// i este prim => un nou numar prim <= n
cnt ++;
for(int j = i + i ; j <= n ; j = j + i)
ciur[j] = 1;
}
}
fprintf(f2,"%d",cnt);
return 0;
}