Cod sursa(job #1416274)

Utilizator MIrcea_GheoaceGheoace Mircea MIrcea_Gheoace Data 7 aprilie 2015 19:47:36
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
# include <cstdio>
using namespace std;
# define N 1000000
char p[N];
int main()
{int i,j,n,nr=1;
FILE *f=fopen("ciur.in","r"),*g=fopen("ciur.out","w");
fscanf(f,"%d",&n);
for (i = 1; ((i * i) << 1) + (i << 1) <= n; i += 1) {
    if (p[i] == 0) {
      for (j = ((i * i) << 1) + (i << 1); (j << 1) + 1 <= n; j += (i << 1) + 1) {
        p[j] = 1;
      }
    }
  }
for (i=1; 2 * i + 1 <= n; ++i) 
      if (p[i] == 0) nr++;
 fprintf(g,"%d",nr);
}