Cod sursa(job #2858297)
Utilizator | Rotaru Mihnea Mihnea07 | Data | 27 februarie 2022 12:46:49 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
#include <cmath>
using namespace std;
ifstream in ("ciur.in");
ofstream out ("ciur.out");
int v[2000000];
int main()
{
int n,k=0;
in>>n;
for(int i=2;i<=n;i++)
{
v[i]=i;
}
int g=sqrt(n);
for(int i=2;i<=g;i++)
{
for(int j=2*i;j<=n;j++)
{
if(v[j]!=0 && v[i]!=0 && j%i==0)
{
v[j]=0;
}
}
}
for(int i=2;i<=n;i++)
{
if(v[i]>0)
{
k++;
}
}
out<<k;
return 0;
}