Cod sursa(job #828781)
Utilizator | Stefanescu Mihai-Nicolae Stefanescu_Mihai | Data | 4 decembrie 2012 13:56:53 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
#include <math.h>
#include <iostream>
using namespace std;
unsigned int a[1000009];
int main()
{
unsigned int m,y,i;
double n;
ifstream f1("c.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("c.out");
f2<<m-1;
f2.close();
return 0;
}