Cod sursa(job #2927818)

Utilizator Ser.MariusSerban Marius Aurelian Ser.Marius Data 21 octombrie 2022 16:25:58
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <list>
using namespace std;
ifstream f("ciur.in");
ofstream g("ciur.out");

int ciur(int n)
{
    int nr=0;
    bool *lista = new bool[n+1];
    lista[2]=true;
    for(int i=3;i<=n;i+=2)
        lista[i]=true;

    for(int i=3;i*i<=n;i+=2)
        if(lista[i])
            for(int j=i*i;j<=n;j+=i)
                lista[j]=false;
    if(n%lista[2]==0)
        nr++;
    for(int i=3;i<=n;i+=2)
        if(lista[i])
            nr++;
    return nr;
}
int main()
{
    int n;
    f>>n;
    g<<ciur(n);
    return 0;
}