Cod sursa(job #630414)
Utilizator | Data | 5 noiembrie 2011 15:39:30 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <cstdlib>
#include <stdio.h>
using namespace std;
FILE *f=fopen("ciur.in","r");
FILE *g=fopen("ciur.out","w");
int n,nr;
char prim[2000001];
int main()
{
int j,m;
fscanf(f,"%d",&n);
for (int k=2;k<=n;k++)
prim[k]=1;
for (m=2;m<=n;++m)
{
// cout<<"("<<m<<prim[m]<<")\n";
if(prim[m])
{
++nr;
for (j=m+m;j<=n;j+=m)
prim[j]=0;
}
}
fprintf(g,"%d",nr);
return EXIT_SUCCESS;
}