Cod sursa(job #3360060)

Utilizator proflaurianPanaete Adrian proflaurian Data 8 iulie 2026 14:06:33
Problema Ciurul lui Eratosthenes Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("ciur.in");
ofstream g("ciur.out");
const int N = 2000001;
int n,i,cnt;
short int p[N];
int main()
{
    f>>n;
    /// 2 este singurul numar prim
    /// deci daca il iau pe 2 separat
    /// in rest ma intereseaza doar numere impare
    cnt=1;
    for(i=3;i*i<=n;i+=2)
        if(p[i]==0)
        {
            cnt++;
            for(int j=i*i;j<=n;j+=i)
                p[j]=1;
        }
    for(;i<=n;i+=2)
        if(p[i]==0)
            cnt++;
    g<<cnt<<'\n';
    return 0;
}