Cod sursa(job #1321238)
Utilizator | Data | 18 ianuarie 2015 21:27:21 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
#include <math.h>
using namespace std;
ifstream x ("ciur.in");
ofstream y ("ciur.out");
int main()
{
int a[200001],nr = 0, n, i, j;
x>>n;
for (i=2; i<=n; i++)
a[i]=1;
int b;
b=sqrt(n);
for (i=2; i<=b; i++)
if (a[i]!=0)
for (j=2; j<=n/i; j++)
a[i*j]= 0;
for (i=2; i<=n; i++)
if (a[i]==1)
nr++;
y<<nr;
return 0;
}