Cod sursa(job #591862)
| Utilizator | Data | 25 mai 2011 19:19:26 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
using namespace std;
long N, NPrime=1;
char V[2000005];
void Eratosthenes ()
{
long i, j;
for (i=2; i<=N; i+=2)
{
V[i]=1;
}
for (i=3; i<=N; i+=2)
{
if (V[i]==0)
{
NPrime++;
for (j=i; j<=N; j+=i)
{
V[j]=1;
}
}
}
}
int main ()
{
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
fin >> N;
Eratosthenes ();
fout << NPrime << "\n";
fin.close ();
fout.close ();
return 0;
}
