Cod sursa(job #498718)
| Utilizator | Data | 5 noiembrie 2010 19:59:44 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.36 kb |
#include <fstream>
using namespace std;
ifstream in("ciur.in");
ofstream out("ciur.out");
bool v[1<<21];
int ciur(int n)
{
int i,j,cont=n-1;
for (i=2;i*i<=n;i++)
if(!v[i])
for(j=i*i;j<=n;j+=i)
if (!v[j])
{
cont--;
v[j]=true;
}
return cont;
}
int main()
{
int n;
in>>n;
out<<ciur(n)<<"\n";
return 0;
}
