Pagini recente » Cod sursa (job #791125) | Cod sursa (job #1864763) | Cod sursa (job #2356825) | Cod sursa (job #2116813) | Cod sursa (job #1035094)
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
using namespace std;
#define SIZE 2000003
ifstream fin("ciur.in");
ofstream fout("ciur.out");
void BuildCiur();
vector<bool> ciur;
int num;
int nr = 1;
int main()
{
fin >> num;
BuildCiur();
fout << nr;
fin.close();
fout.close();
return 0;
}
void BuildCiur()
{
ciur.resize(SIZE);
int rad = sqrt(num);
for (int p = 4; p <= num; p += 2)
ciur[p] = true;
for (int p = 3; p <= num; p += 2)
if ( !ciur[p] )
{
nr++;
if ( p <= rad )
for (int x = p * p; x <= num; x += p)
ciur[x] = true;
}
}