Cod sursa(job #2498649)

Utilizator StratonStangaciu Sofian Straton Data 24 noiembrie 2019 10:18:23
Problema Ciurul lui Eratosthenes Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
using namespace std;

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

bool v[20000];

bool ePrim(int a){

for(int i=2;i*i<=a;i++)
    if(a%i==0)
        return false;
    return true;
}

int main()
{int n,nr=2;
    fin>>n;
    for(int i=2;i<=n;i++){
        v[2*i]=1;
        if(2*i>n)
            break;
    }
    for(int i=3;i<=n;i++){
        v[3*i]=1;
        if(3*i>n)
            break;
    }
    int in=4;
    for(int i=4;i<=n;i++){
        if(v[i]==0){
            nr++;
            while(i*in<n){
                v[i*in]=1;
            }
        in++;
        }else continue;
    }

    fout<<nr;

    return 0;
}