Pagini recente » Cod sursa (job #2267441) | Cod sursa (job #1157917) | Cod sursa (job #489207) | Cod sursa (job #2292095) | Cod sursa (job #1343289)
#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 ( a[i] == true ) {
i++;
if ( i*i > n )
trecut = true;
}
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++;
}
else
trecut = true;
}
fprintf(out, "%d", contor);
return 0;
}