Cod sursa(job #1659374)

Utilizator RobertStefanescuRobert Stefanescu RobertStefanescu Data 22 martie 2016 10:38:09
Problema Ciurul lui Eratosthenes Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

char prim[2000005];
int main()
{
        int n,p,i,j,nr=0;
        ifstream f ("ciur.in");
        ofstream g ("ciur.out");
        f >> n;
        p=2;
        for (i=p+2;i<=n;i=i+p)
        prim[i]=1;

        int lim=sqrt(n);
        for (p=3;p<=lim;p=p+2)
        {
            if (prim[p]==0)
            {
                for (j=p+p;j<n;j=j+p)
                prim[j]=1;
            }
        }
        for (i=2;i<=n;i++)
        {
            if (prim[i]==0)
            nr++;
        }
        g << nr;
        return 0;
}