Cod sursa(job #232952)
| Utilizator | Data | 16 decembrie 2008 15:29:53 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <string>
using namespace std;
int main()
{
bool ok[2000000];
int i, j, n;
int p = 0;
ifstream fin("ciur.in");
j = 2;
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++;
}
}
fin.close();
ofstream fout("ciur.out");
for (i = 2; i <= n; i++)
if(ok[i])
p++;
fout << p;
fout.close();
return 0;
}
