Cod sursa(job #2008053)
| Utilizator | Data | 5 august 2017 06:00:17 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include<fstream>
using namespace std;
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
bool a[2000003];
int N, cnt;
void Ciur()
{
int i, j;
fin >> N;
for (i=3; i*i<=N; i=i+2)
if (a[i]==0)
for (j=i*i; j<=N; j=j+i*2)
a[j] = 1;
}
void Numara()
{
int i, j;
if (N>2) cnt=1;
else cnt=0;
for (i=3; i<=N; i=i+2)
if (a[i]==0) cnt++;
fout << cnt << "\n";
}
int main ()
{
Ciur();
Numara();
return 0;
}
