Cod sursa(job #2949196)

Utilizator CiuiGinjoveanu Dragos Ciui Data 30 noiembrie 2022 10:08:27
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

const int MAX_SIZE = 20000000;
bitset<MAX_SIZE + 1> markPrimeNumbers;

int main() {
    int n;
    fin >> n;
    int primeNo = 0;
    for (int i = 1; i <= n; i += 2) {
        if (markPrimeNumbers[i] != 1 && n != 1) {
            ++primeNo;
            for (long long j = i; i * j <= n && i != 1; j += 2) {
                markPrimeNumbers[i * j] = 1;
            }
        }
    }
    fout << primeNo;
    return 0;
}