Cod sursa(job #2458642)
Utilizator | Data | 21 septembrie 2019 11:25:57 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ciur.in") ;
ofstream fout("ciur.out") ;
int ciur(int n)
{
bool v[n + 1] = {0} ;
int nrprime = 1 ;
for(int i = 4 ; i <= n ; i += 2)
v[i] = 1 ;
for(int i = 3 ; i <= n ; i += 2)
{
if(v[i] == 0)
{
nrprime ++ ;
for(int j = i ; j <= (n / i) ; ++ j)
v[j * i] = 1 ;
}
}
return nrprime ;
}
int main()
{
int n ;
fin >> n ;
fout << ciur(n) ;
return 0;
}