Cod sursa(job #1621082)

Utilizator Mihai9Oniga Mihai Mihai9 Data 29 februarie 2016 16:29:11
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool E[2000001];
void ciur(){
    for(int i=0;i<=2000000;i++) E[i]=1;
    E[1]=E[0]=0;
    for(int i=2;i*i<=2000000;i++){if(E[i]==1){for(int j=2;j*i<=2000000;j++){E[i*j]=0;}}}
}
int main()
{
    ciur();
    int n,c=1;
    fin>>n;
    if(n==1||n==0){fout<<"0";return 0;}
    for(int i=3;i<=n;i+=2){if(E[i]==1){c++;}}
    fout<<c;
    return 0;
}