Cod sursa(job #2668897)

Utilizator Vlad.MagdasVlad Magdas Vlad.Magdas Data 5 noiembrie 2020 17:34:03
Problema Ciurul lui Eratosthenes Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb

#include <iostream>

#include <limits.h>
#include <bits/stdc++.h>

using namespace std;


int n;
    bool ciur[100001];

int sol;
int prime[100001];

int main() {
    cin >> n;
    ciur[0] = ciur[1] = true;
    for (int j = 4; j <= n; j += 2)
        ciur[j] = true;
    for (int i = 3; i * i <= n; i += 2)
        if (!ciur[i])
            for (int j = i * i; j <= n; j += 2 * i)
                ciur[j] = true;

    prime[sol++] = 2;
    for (int i = 3; i <= n; i += 2)
        if (!ciur[i])
            prime[sol++] = i;

    cout << sol << '\n';
    for (int i = 0; i < sol; i++)
        cout << ciur[i] << ' ';
    cout << '\n';
    return 0;
}