Pagini recente » Cod sursa (job #92082) | Cod sursa (job #236047) | Cod sursa (job #468504) | Cod sursa (job #3004761) | Cod sursa (job #421992)
Cod sursa(job #421992)
// Simionescu Andrei, -/-/2010
// http://infoarena.ro/problema/ciur
// Dificultate: -
// Categorii: -
#include <cstdio>
#include <vector>
using namespace std;
#define NMAX 2000001
bool ciur[NMAX];
void zciur(int n);
int main(){
freopen( "ciur.in", "r", stdin );
freopen( "ciur.out", "w", stdout );
int n, sum = 0;
scanf("%d", &n);
zciur( n );
for(int i = 3; i <= n; i+=2 )
if(!ciur[i])
++sum;
printf("%d\n", sum);
// for( int i = 1; i <= 100; ++i)
// printf("%d %s\n",i,(ciur[i]||i%2==0)?"":"prim");
return 0;
}
void zciur(int n){
for( int i = 3; i <= n; i += 2 )
if(!ciur[i])
for( int k = 1; i * (2*k+1) <= n; ++k )
ciur[i * (2*k+1)] = 1;
}