Cod sursa(job #828785)
| Utilizator | Data | 4 decembrie 2012 14:07:39 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 20 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.38 kb |
#include <fstream>
#include <math.h>
using namespace std;
unsigned char a[1000009];
int main()
{
unsigned int m,y,i;
double n;
ifstream f1("ciur.in");
f1>>n;
f1.close();
m=n;
for (i=2;i<=n;i++) a[i]=i;
for (y=2;y<=sqrt(n);y++)
if (a[y]!=0)
for (i=y+y;i<=n;i+=y)
if (a[i]!=0) {a[i]=0;m--;}
ofstream f2("ciur.out");
f2<<m-1;
f2.close();
return 0;
}
