Pagini recente » Cod sursa (job #1877587) | Cod sursa (job #1491772) | Cod sursa (job #2967612) | Cod sursa (job #2818842) | Cod sursa (job #2718671)
#include <bits/stdc++.h>
using namespace std;
const string FILENAME = "ciur";
ifstream fin(FILENAME + ".in");
ofstream fout(FILENAME + ".out");
bitset<2000001> compound;
int n;
int sieve()
{
int ans = 0;
compound[0] = compound[1] = 1;
for(int i = 4; i <= n; i+= 2)
compound[i] = true;
for(int i = 3; i * i <= n; i += 2)
if(!compound[i])
for(int j = i * i; j <= n; j += i + i)
compound[j] = true;
for(int i = 2; i <= n; i++)
if(!compound[i]) ans++;
return ans;
}
int main()
{
fin >> n;
fout << sieve() << "\n";
fin.close();
fout.close();
return 0;
}