Cod sursa(job #1984775)

Utilizator Dragne.Andrei11Dragne Andrei Dragne.Andrei11 Data 25 mai 2017 22:52:54
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>
#define nmax 2000001

using namespace std;

bool ciur[nmax];

int main()
{
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    int n;

    scanf("%d", &n);
    ciur[0]=ciur[1]=1;
    for(int i=4;i<=nmax;i+=2)
        ciur[i]=1;
    for(int i=3;i*i<=nmax;i+=2)
    {
        if(ciur[i]==0)
            for(int j=i*i;j<=nmax;j+=2*i)
                ciur[j]=1;
    }
    int s=0;
    for(int i=2;i<=n;i++)
        if(ciur[i]==0)
            s++;
    printf("%d\n", s);

    return 0;
}