Cod sursa(job #565170)
| Utilizator | Data | 27 martie 2011 13:19:01 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream.h>
#include <stdlib.h>
#include <iostream.h>
ifstream f("ciur.in");
ofstream g("ciur.out");
long int i,n,j,l,k=1;
bool *v;
int main ()
{f>>n;
if (n%2==0)
n/=2;
else
n=n/2+1;
v=(bool*)calloc(n+1,1);
for (j=2; j<=n; j++)
if (v[j]==0)
{i=2*j-1;
for (l=j+i; l<=n; l+=i)
v[l]=1;
k++;}
g<<k;
f.close();
g.close();
return 0;}
