Pagini recente » Autentificare | Monitorul de evaluare | Diferente pentru arhiva intre reviziile 36 si 35 | Cod sursa (job #214944) | Cod sursa (job #1336044)
#include <fstream>
#define DMAX 2000
using namespace std;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n, nrp;
char ciur[DMAX];
void Ciur();
void afisare();
int main()
{
Ciur();
afisare();
fout<<nrp<<'\n';
fout.close();
return 0;
}
void Ciur()
{
int i, j;
fin>>n;
for (i=2; i*i<=n; i++)
if (!ciur[i]) // i este prim
for (j=i; j*i<=n; j++)
ciur[j*i]=1; // elimin din ciur multiplu i*j
}
void afisare()
{
int i;
for (i=2; i<=n; ++i)
if (!ciur[i])
nrp++;
}