Cod sursa(job #2678057)

Utilizator bibiancapitu2004Pitu Bianca bibiancapitu2004 Data 28 noiembrie 2020 01:15:52
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
using namespace std;

ifstream in("ciur.in");
ofstream out("ciur.out");

const int NMAX=300000000;
bool c[NMAX+5];


int main()
{
    int n,i,j,cnt = 0;
    in>>n;
    c[0]=c[1]=1;
    for(i=4;i<=n;i=i+2)
    {
        c[i]=1;
    }
    for(i=3;i*i<=n;i=i+2)
    {
        if(c[i]==0)
        {
            for(j=i*i;j<=n;j=j+2*i)
            {
                c[j]=1;
            }
        }
    }
    if(n >= 2)cnt ++;
    for(i=3;i<=n;i=i+2)
        if(c[i]==0)cnt ++;
        out << cnt;

    return 0;
}