Cod sursa(job #2965888)

Utilizator rutakateIvanovici Vlad rutakate Data 16 ianuarie 2023 15:24:43
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n, sir[2000004], suma = 0, y = 2;



int main()
{
    fin >> n;
    for(int i = 1; i <= n; ++i) {
        sir[i] = i;
    }
    for(int i = 2; i <= n; ++i) {
        if(sir[i] != -1) {
                suma++;
            while(i * y <= n) {
                sir[i * y] = -1;
                y++;
            }
            y = 2;
        }
    }
    for(int i = 0; i <= n; ++i) {
        cout << sir[i] << " ";
    }
    fout << suma;
    return 0;
}