Cod sursa(job #3361814)

Utilizator MesterelllMester Darius Mesterelll Data 28 iulie 2026 17:53:44
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

const int LIM = 2000001;

bool ciur[LIM];

int main(){
  	ifstream fin("ciur.in");
  	ofstream fout("ciur.out");
	ciur[1] = 1;
  	ciur[4] = 1;
  	int n;
  	fin>>n;
  	int cnt=0;
  	for (int i=6; i<n; i+=6){
      if (ciur[i-1]==0){
        for (int j=(i-1)*2; j<n; j+=i-1)
          ciur[j]=1;
        cnt++;
      }
      if (ciur[i+1]==0){
        for (int j=(i+1)*2; j<n; j+=i+1)
          ciur[j]=1;
        cnt++;
      }
    }
  	fout<<cnt+2;
}