Pagini recente » Cod sursa (job #1244281) | Cod sursa (job #2028014) | Cod sursa (job #838694) | Cod sursa (job #3193925) | Cod sursa (job #472540)
Cod sursa(job #472540)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
char 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;
}