Cod sursa(job #2204349)
| Utilizator | Data | 15 mai 2018 16:04:01 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <cstdio>
#include <bitset>
using namespace std;
int const NM = 2e6 + 7;
bitset <NM> v;
char const in [] = "ciur.in";
char const out [] = "ciur.out";
int best;
void ciur (int n)
{
int i , j;
for(i = 2 ; i * i <= n ; ++ i)
if(! v [i])
for(j = i * i ; j <= n ; j += i)
v [j] = 1;
for(i = 2 ; i <= n ; ++ i)
if(! v [i])
++ best;
printf ("%d" , best);
puts("");
}
int main()
{
freopen (in , "r" , stdin);
freopen (out , "w" , stdout);
int n , i , best = 0;
scanf ("%d", &n);
ciur (n);
return 0;
}
