Cod sursa(job #2085085)
Utilizator | Data | 9 decembrie 2017 17:59:35 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n, ct=1;
bitset <2000002> p;
void ciur()
{
for(int i=3; i*i<=n; i+=2)
if(!p[i])
for(int j=i*i; j<=n; j+=i)
p[j]=1;
}
int main()
{
fin>>n;
if(n==2) fout<<1<<'\n';
else
{
ciur();
for(int i=3; i<=n; i+=2)
if(!p[i])
ct++;
fout<<ct<<'\n';
}
return 0;
}