Cod sursa(job #2751809)

Utilizator verde.cristian2005Verde Flaviu-Cristian verde.cristian2005 Data 15 mai 2021 20:57:42
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
const int N=2000000;
bool ciur[N+1];///ciur[i]=0 inseamna ca nu este marcat, pe cand ciur[i]=1 inseamna ca e marcat
int main()
{
    int n,i,cnt=0,j;
    in>>n;
    ciur[0]=ciur[1]=1;
    for(j=4; j<=n; j+=2)
        ciur[j]=1;
    for(i=3; i<=n; i+=2)
        if(ciur[i]==0)///verificare de numar prim
        {
            for(j=i*i; j<=n; j+=2*i)
                ciur[j]=1;
        }
    for(i=1; i<=n; i++)
        if(ciur[i]==0)
            cnt++;
    out<<cnt;
    return 0;
}