Cod sursa(job #1850412)
| Utilizator | Data | 18 ianuarie 2017 17:30:54 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <cstdio>
using namespace std;
bool v[2000001];
int ciur(int n)
{
int nr=1;
for (int i=4;i<=n;i+=2)
v[i]=1;
for (int i=3;i<=n;i+=2)
if (v[i]==0)
{
nr++;
if ((long long)i*i<=2000000)
for (int j=i*i;j<=n;j+=i)
v[j]=1;
}
return nr;
}
int main()
{
freopen("ciur.in","r",stdin);
freopen("ciur.out","w",stdout);
int n;
scanf("%d ",&n);
printf("%d ",ciur(n));
}
