Pagini recente » Cod sursa (job #199900) | Cod sursa (job #413826) | pre_oni_gim2015 | Cod sursa (job #423185) | Cod sursa (job #266475)
Cod sursa(job #266475)
#include <iostream>
using namespace std;
void read (int&, char * const);
void mark (const int&, char * const);
void write (const int&, char * const);
int main ()
{
char ciur[2000001];
int n;
read (n, ciur);
mark (n, ciur);
write (n, ciur);
return 0;
}
void mark (const int &n, char * const ciur)
{
int i, j;
for (i = 3; i <= n; i += 2)
{
if (ciur[i]) for (j = i * 3; j <= n; j += (2 * i))
{
ciur[j] = 0;
}
}
}
void read (int &n, char * const ciur)
{
int i;
freopen ("ciur.in", "r", stdin);
cin >> n;
for (i = 1; i <= n; i++)
{
ciur[i] = 1;
}
}
void write (const int &n, char * const ciur)
{
int i, sum = 1;
for (i = 3; i <= n; i += 2)
{
sum += ciur[i];
}
freopen ("ciur.out", "w", stdout);
cout << sum << endl;
}