Cod sursa(job #2519205)

Utilizator TSN1005Simon S TSN1005 Data 7 ianuarie 2020 14:10:20
Problema Ciurul lui Eratosthenes Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int v[200001];

int prim(int x)
{
    if(x < 2 || (x > 2 && x % 2 == 0))
        return 0;
    for(int i = 3 ; i*i <= x ; i++)
        if(x % i == 0)
            return 0;
    return 1;
}
int main()
{
    int N, ct = 0 , i , j;
    fin >> N;
    for(i = 1 ; i <= N; i++)
        v[i] = 1;
    for(i = 2 ; i <= N ; i++)
    {
        if(prim(i))
            for(j = i+i ; j <= N ; j = j + i)
                v[j] = 0;
    }
    for(i = 2 ; i <= N ; i++)
        if(v[i] == 1)
            ct++;
    fout << ct;


    return 0;
}