Cod sursa(job #2757758)

Utilizator MoarcascosminMoarcas Cosmin Moarcascosmin Data 6 iunie 2021 13:07:29
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

int n, ciur[1000001], nr;

void Citire()
{
    ifstream f("ciur.in");

    f >> n;
}

void FormareCiur()
{
    for(int i = 1; 2 * i + 1 <= n; i++)
        if(!ciur[i])
        {
            nr++;
            int numar = 2 * i + 1;
           // cout << numar << ' ';
            for(int j = 1; numar * (2 * j + 1) <= n; j++)
                ciur[(numar * (2 * j + 1)) / 2] = 1;
        }
}

void Afisare()
{
    ofstream g("ciur.out");
    if(2 <= n)
        nr++;
    g << nr;
}

int main()
{
    Citire();
    FormareCiur();
    Afisare();

    return 0;
}