Cod sursa(job #1957449)

Utilizator stefifranciskaBogdan Stefania Franciska stefifranciska Data 7 aprilie 2017 15:58:53
Problema Ciurul lui Eratosthenes Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;



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;

    bool *prim;
    prim=new bool [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;
}