Cod sursa(job #3304557)

Utilizator robigiirimias robert robigi Data 24 iulie 2025 22:09:19
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>

using namespace std;

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

    int n;
    fin >> n;
    int total = 0;

    bool* v = new bool[n + 1];
    for (int i = 2; i <= n; ++i)
    {
        v[i] = true; // Initialize all numbers as prime
    }

    int i = 0;
    for (i = 2; i * i <= n; ++i)
    {
        if (v[i])
        {
            total++; // Count the prime number
            for (int j = i * i; j <= n; j += i)
            {
                v[j] = false; // Mark multiples of i as non-prime
            }
        }
    }

    for (; i <= n; ++i)
    {
        if (v[i])
        {
            total++; // Count the remaining prime number
        }
    }

    fout << total;
}