Pagini recente » Cod sursa (job #3036947) | Cod sursa (job #2966774) | Cod sursa (job #3349215) | Cod sursa (job #3323215) | Cod sursa (job #3349661)
#include <stdio.h>
#include <string.h>
FILE *fin, *fout;
_Bool isPrime[2000001];
void ciur(int n) {
memset(isPrime, 1, sizeof(isPrime));
isPrime[0] = isPrime[1] = 0;
for(int i = 2; i * i <= n; ++i) {
if(isPrime[i] == 1) {
for(int j = i * i; j <= n; j += i) {
isPrime[j] = 0;
}
}
}
}
int main(void) {
fin = fopen("ciur.in", "r");
int n;
fscanf(fin, "%d", &n);
fclose(fin);
ciur(n);
int cnt = 0;
for(int i = 2; i <= n; ++i) {
cnt += isPrime[i];
}
fout = fopen("ciur.out", "w");
fprintf(fout, "%d\n", cnt);
fclose(fout);
return 0;
}