Cod sursa(job #2088444)

Utilizator andreisuguAndrei Sugubete andreisugu Data 15 decembrie 2017 10:44:54
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
using namespace std;

int n,j,s;
char x[2000001];
//1 = nu e prim
//0 = e prim
int main()
{
    ifstream fin ("ciur.in");
    ofstream fout ("ciur.out");
    fin>>n;
    x[1]=1;

    for(int i=4;i<=n;i+=2){
        x[i] = 1;
    }
    for(int i=3;i<=n;i++){
        if(x[i]==0){
            j=i+i;
            while(j<=n){
                x[j]=1;
                j+=i;
            }
        }
    }
    for(int i=1;i<=n;i++){
        if(x[i]==0)s++;
    }
    fout<<s;
    return 0;
}