Pagini recente » Cod sursa (job #1062626) | Cod sursa (job #722623) | Cod sursa (job #1971959) | Cod sursa (job #2343787) | Cod sursa (job #940325)
Cod sursa(job #940325)
#include <stdio.h>
#include <math.h>
#define N 2000001
int main() {
FILE* in = fopen("ciur.in", "r");
FILE* out = fopen("ciur.out", "w");
int n;
fscanf(in, "%d", &n);
char ciur[N];
ciur[2] = 1;
int i;
for (i = 3; i <= n; ++i)
if (i % 2 == 0)
ciur[i] = 0;
else
ciur[i] = 1;
int crtNum = 3;
while (crtNum <= n/2) {
int crtMultiple = crtNum * 2;
while (crtMultiple <= n) {
ciur[crtMultiple] = 0;
crtMultiple += crtNum;
}
while(ciur[crtNum++] == 0);
}
int sum = 0;
for (i = 2; i <= n; ++i)
sum += ciur[i];
fprintf(out, "%d\n", sum);
return 0;
}