Cod sursa(job #411280)

Utilizator v14dVlad Baesu v14d Data 4 martie 2010 20:10:53
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
using namespace std;
char ciur[2000001];
int prim(long long nr)
{
    for(int i=2;i*i<=nr;++i) if(nr%i==0) return 0;
    return 1;
}

int main()
{
    long long n,s=0,i;
    ifstream fi("ciur.in");
    ofstream fo("ciur.out");
    fi>>n;
    for(i=2;i<=n;++i) ++ciur[i];
    for(i=2;i<=n;++i)
      if(ciur[i]) {
        if(prim(i)) ++s;
        for(long long j=i;j<=n;j+=i) ciur[j]=0;
      }
    fo<<s;
    fi.close();
    fo.close();
return 0;
}