Cod sursa(job #827551)
Utilizator | Stefanescu Mihai-Nicolae Stefanescu_Mihai | Data | 2 decembrie 2012 11:35:16 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream>
#include <math.h>
using namespace std;
unsigned int a[2000009];
int main()
{
unsigned int k,m,i,n;
ifstream f1("ciur.in");
f1>>n;
f1.close();
m=n;
for (i=1;i<=n;i++) a[i]=i;
for (i=2;i<=sqrt(n);i++) if (a[i]!=0) for (k=2*i;k<=n;k=k+i) {a[k]=0;m--;}
for (m=i=0;i<=n;i++) if (a[i]!=0) m++;
ofstream f2("ciur.out");
f2<<m-1;
f2.close();
return 0;
}