Cod sursa(job #2277879)

Utilizator ZappaManIosif Adrian-Mihai ZappaMan Data 6 noiembrie 2018 22:59:30
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

const long NMAX = 2000005;

bool ciur[NMAX];

long N;

int main() {
   ifstream iff("ciur.in");
   ofstream off("ciur.out");

   iff >> N;

   for (int i = 0; i <= N; ++i) {
      ciur[i] = true;
   }

   int count = 0;

   for (int i = 2; i <= sqrt(N); ++i) {
      if (ciur[i] == true) {
         for (int j = i*i; j <= N; j += i) {
            ciur[j] = false;
         }
      }
   }

   for (int i = 2; i <= N; ++i) {
      if (ciur[i] == true) {
         count += 1;
      }
   }

   off << count;

   return 0;
}