Cod sursa(job #1490534)

Utilizator juniorOvidiu Rosca junior Data 23 septembrie 2015 19:09:31
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <iostream>
#include <cmath>

using namespace std;

bool prim[2000001];
int n, prime;
long int m, d;
ifstream fi("ciur.in");
ofstream fo("ciur.out");

int main () {
  fi >> n;
  for (d = 2; d <= n; d++)
    prim[d] = true;
  for (d = 2; d <= n; d++)
    if (prim[d]) {
      for (m = d * d; m <= n; m += d) // d * d
        prim[m] = false;
      prime++;
    }
  fo << prime;
  return 0;
}

/*
-2100000000 -20999999999 ... 0 1 2 ... 2100000000

01111111111111111111111111111111
10000000000000000000000000000000
1*/