Cod sursa(job #2377248)
Utilizator | Data | 9 martie 2019 02:26:24 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | cpp-32 | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int main()
{
int n,i,j,b,prime;
bitset <2000050> f;
fin>>n;
f[0]=1;
f[1]=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++;
fout<<prime<<endl;
}