Pagini recente » Cod sursa (job #3179927) | Cod sursa (job #2843935) | Cod sursa (job #1254243) | Cod sursa (job #950494) | Cod sursa (job #2304465)
#include <bits/stdc++.h>
using namespace std;
int a[2000005], n;
/// a[i] = 0, daca i - prim
/// = 1, daca i nu e prim
int main()
{
int i, j, n;
ifstream fin("ciur.in");
ofstream fout("ciur.out");
fin >> n;
a[0] = a[1] = 1;
/// marchez cu 1 numerele pare >= 4
for (i = 4; i <= n; i += 2)
a[i] = 1;
/// numerele impare:
/// n log*(n)
for (i = 3; i * i <= n; i += 2)
if (a[i] == 0) /// i - prim, dar multiplii sai nu
for (j = i * i; j <= n; j = j + 2 * i)
a[j] = 1;
j = 0;
for (i = 1; i <= n; i++)
if (a[i] == 0) j++;
fout << j << "\n";
fout.close();
fin.close();
return 0;
}