Cod sursa(job #2006516)

Utilizator vasi461Vasiliu Dragos vasi461 Data 30 iulie 2017 11:16:48
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
using namespace std;

#define MAX 2000005

ifstream cin("ciur.in");
ofstream cout("ciur.out");

int n;
bool prim[MAX];

int main()
{
    cin >> n;
    for(int i = 2; i <= n; ++i)
    {
        prim[i] = true;
    }
    for(int i = 2; i <= n; ++i)
    {
        if(prim[i])
        {
            int x = i + i;
            while(x <= n)
            {
                prim[x] = false;
                x += i;
            }
        }
    }
    int k = 0;
    for(int i = 2; i <= n; ++i)
    {
        if(prim[i])
        {
            k++;
        }
    }
    cout << k << '\n';
    return 0;
}