Cod sursa(job #2259882)

Utilizator Antonio020712Potra Antonio Antonio020712 Data 13 octombrie 2018 21:29:14
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
long long n, i, j, nr = 0;
const int long lim = 2000000;
long long ciur[lim + 1];
int main() {
  ciur[0] = 1;
  ciur[1] = 1;
  for (i = 2; i * i <= lim; i++)
    if (ciur[i] == 0)
      for (j = 2; j <= lim / i; j++)
        ciur[i * j] = 1;
  fin >> n;
  for (i = 1; i <= n; i++)
    if (ciur[i] == 0)
      nr++;
  fout << nr;
  fin.close();
  fout.close();
  return 0;
}