Cod sursa(job #1957423)

Utilizator stefifranciskaBogdan Stefania Franciska stefifranciska Data 7 aprilie 2017 15:53:52
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;
bool prim[2000000];

bool eprim(int nr)
{

    if(nr==0 || nr==1)
        return 0;
    if(nr==2 || nr==3)
        return 1;

    for(int i=2; i*i<=nr; i++)
        if(nr%i==0) return 0;
    return 1;
}

int main()
{

    ifstream f("ciur.in");
    ofstream g("ciur.out");
    int n;
    f>>n;
for(int i=0; i<=n; i++)
        prim[i]=1;
    int nrp=0;
    for(int i=2; i<=n; i++)
    {
        if(prim[i]==1)
        if (eprim(i))
        {
            nrp++;
            int j=2;
           while(i*j<=n)
              {
                   prim[i*j]=0;
                   j++;
              }

        }

    }

    g<<nrp;
    return 0;
}