Cod sursa(job #1068631)
Utilizator | Data | 28 decembrie 2013 15:48:18 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n, nr = 0, prim[2000005];
void initializare(int x)
{
for(int i = 2; i<=x; i++)
{
prim[i] = 1;
}
}
int testare(int x)
{
for(int i = 2; i<=x; i++)
{
if(prim[i])
{
++nr;
for(int j = i*i; j<=x; j += i)
{
prim[j] = 0;
}
}
}
return nr;
}
int main()
{
fin>>n;
initializare(n);
fout<<testare(n);
}