Cod sursa(job #2191724)

Utilizator AvramDanielAvram Daniel AvramDaniel Data 3 aprilie 2018 15:51:45
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <bits/stdc++.h>
using namespace std;
#define MAX 2000010
int nr[MAX],n;
bool prim[MAX];

void ciur(int x)
{
    for(int i=2;i<=x;i++)
        if(!prim[i])
        {
            nr[i]=nr[i-1]+1;
            for(int j=i;j<=x;j+=i)
                prim[j]=1;
        } else nr[i]=nr[i-1];
}

int main()
{
    ifstream cin("ciur.in");
    ofstream cout("ciur.out");
    cin>>n;
    ciur(n);
    cout<<nr[n];
    return 0;
}