Pagini recente » Cod sursa (job #3169481) | Cod sursa (job #775973) | Cod sursa (job #2421067) | Cod sursa (job #152954) | Cod sursa (job #1343378)
#include <stdio.h>
#include <vector>
using namespace std;
FILE*in = fopen("ciur.in", "r");
FILE*out = fopen("ciur.out", "w");
bool a[2000001];
int main() {
int n, contor, i = 2; bool trecut = false;
fscanf(in, "%d", &n );
contor = n-1;
while ( trecut == false ) {
if ( i*i > n )
trecut = true;
else if ( a[i] == true )
i++;
else if ( a[i] == false && i*i <= n ){
for ( int j = i*i; j <= n ; j += i )
if ( a[j] == false ) {
a[j] = true;
contor--;
}
i++;
}
}
fprintf(out, "%d", contor);
return 0;
}