Cod sursa(job #155884)

Utilizator vlad_olteanVladimir Oltean vlad_oltean Data 12 martie 2008 11:12:00
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
using namespace std;

int main()
{
    long long n;
    bool prim[2000001];
    int count=0;
    long long i,j;

    ifstream fin("ciur.in");
    ofstream fout("ciur.out");
    fin>>n;
    
    prim[0]=0; prim[1]=0;
    for(i=2;i<=n;i++) prim[i]=1;
    for(i=4;i<=n;i+=2) prim[i]=0;    

    for(i=3;i<=n;i+=2)
         if(prim[i])
              for(j=i*i;j<=n;j+=i) prim[j]=0; // Elimin toti multiplii
         
    for(i=n;i>=2;i--)
         if(prim[i]) count++;
    
    fout<<count<<endl;
    fin.close(); fout.close();
    return 0;
}