Cod sursa(job #1884742)

Utilizator PondorastiAlex Turcanu Pondorasti Data 19 februarie 2017 10:10:18
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <cstdio>0
using namespace std;
int n,cnt;
bool p[2000005];
void Ciur() {
    for(int i=4;i<=n;i+=2)
        p[i]=true;
    for(int d=3;d*d<=n;d+=2)
        if(!p[d])
        for(int d2=d*d;d2<=n;d2+=d)
            p[d2]=true;}
int main () {
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);
    cin>>n;
    Ciur();
    for(int i=2;i<=n;i++) {
        if(p[i]==false)
            cnt++;
    }
    cout<<cnt;
    return 0;
}