Cod sursa(job #1807066)
| Utilizator | Data | 15 noiembrie 2016 23:15:09 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <iostream>
#include <fstream>
#define MAX 2000001
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
char a[MAX];
int p[MAX-1];
int n,i,j,k;
void ciur()
{ fin>>n;
for (i=2;i*i<=MAX;i++)
if (a[i]==0)
for (j=i*i;j<=MAX;j=j+i)
a[j]=1;
p[1]=2;p[2]=3;k=2;
for (i=1;i<=n;i++)
{if (a[i]==0) k++;
}
p[0]=k;
}
int main()
{ ciur();
fout<<p[0];
return 0;
}
