Cod sursa(job #1017083)

Utilizator PlayLikeNeverB4George Marcus PlayLikeNeverB4 Data 27 octombrie 2013 10:21:53
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.06 kb
/*#include<fstream>
#include<vector>
#include<algorithm>
#include<cmath>

using namespace std;
fstream f("ciur.in");
ofstream g("ciur.out");
int n;


int getPrimes()
{
    n++;
    vector<bool> vec(n);
    fill( vec.begin(), vec.end(), true );
    for(int i=2;i<(double)sqrt((double)n);i++){
        if(vec[i]){
            for(int j=(double)pow((double)i,2.0);j<n;j+=i){
                vec[j]=false;
            }
        }
    }

    int result =0;
    for(int i=2;i<n;i++){
        if(vec[i])
            result++;
    }
    return result;
}

int main()
{
    f>>n;
    g<<getPrimes();

    f.close();
    g.close();

    return 0;
}
*/
#include <fstream>

using namespace std;

ifstream fin("ciur.in");
ofstream fout("ciur.out");

const int MAX=2000001;
char prim[MAX];
int N,S=0;

int main()
{
    int i,j;
    fin >> N;
    for(i=2;i<=N;i++) prim[i]=1;
    for(i=2;i<=N;i++)
        if(prim[i]==1)
        {
            for(j=2;i*j<=N; j++)
                prim[i*j]=0;
            S++;
        }
    fout << S;
}