Cod sursa(job #232959)
Utilizator | Data | 16 decembrie 2008 15:47:07 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include<fstream>
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
bool ok[30000000];
int i, n, j;
int k;
int main()
{
fin >> n;
for (i = 0; i < n; i++)
ok[i] = true;
for ( i= 2; i*i <= n; i++)
if (ok[i])
{
j = 2;
while (i*j <= n)
{
ok[i*j] = false;
j++;
}
}
for (i = 2; i <= n; i++)
if (ok[i])
k++;
fout << k;
fout << '\n';
fin.close();
fout.close();
return 0;
}