Cod sursa(job #1936807)
Utilizator | Data | 23 martie 2017 14:23:03 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <cstdio>
#include <cmath>
using namespace std;
const int N = 6000005;
bool sir[N];
long long n;
long long nr = 0;
void citire()
{
scanf("%lld", &n);
}
void solve()
{
long long lim = n;
for(long long i = 2; i <= lim; i++)
{
if(sir[i] == true)
{
continue;
}
nr++;
for(long long j = i * i * 1LL; j <= n; j += i)
{
sir[j] = true;
}
}
printf("%lld", nr);
}
int main()
{
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
citire();
solve();
return 0;
}