Pagini recente » Cod sursa (job #1874335) | Cod sursa (job #2029975) | Cod sursa (job #926323) | Cod sursa (job #2254440) | Cod sursa (job #472537)
Cod sursa(job #472537)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int isNotPrim[1000001];
int n, i;
int main()
{
ifstream f("ciur.in");
ofstream g("ciur.out");
f >> n;
int maxCount = n / 2;
if( n % 2 == 0 ) maxCount--;
f.close();
int index = 3;
int solution = 1;
do
{
int multiply = index;
while( index * multiply <= n)
{
isNotPrim[(index * multiply -1) / 2] = 1;
multiply += 2;
}
if ( index * index < n )
index += 2;
}while( index * index < n );
for( i = 1; i <= maxCount; i++ )
if ( !isNotPrim[i] )
solution++;
g << solution << "\n";
g.close();
return 0;
}