Cod sursa(job #1241431)

Utilizator atelaluCazan Alexandru atelalu Data 13 octombrie 2014 15:34:09
Problema Ciurul lui Eratosthenes Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
#include <cmath>
using namespace std;
bool a[2000000];
int main()
{
    ifstream f("ciur.in");
    ofstream g("ciur.out");
    int n,i,nr=0,j;
    f>>n;
    if(n>2)
        nr=1,a[2]=1;
    for(i=3;i<=n;++i)
        a[i]=1;
    for(i=3;i<(int)sqrt(n);i=i+2)
        if(a[i])
        for(j=i;j<=n/i;j++)
        {
            a[i*j]=0;
        }
    for(i=3;i<=n;i=i+2)
    {if(a[i])
        nr++;}
    g<<nr;
    return 0;
}