Cod sursa(job #2377143)
Utilizator | Data | 8 martie 2019 22:20:37 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <fstream>
#include <bitset>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
int n,i,b,j,prime;
bitset <2000050> f;
int main()
{
in>>n;
f[1]=1;
f[0]=1;
for (i=2;i*i<=n;++i)
{
if (!f[i])
{
b=n/i;
for (j=i;j<=b;++j)
f[i*j]=1;
}
}
for (i=2;i<=n;++i)
{
if (!f[i]) prime++;
}
out<<prime<<"\n";
}