Pagini recente » Cod sursa (job #1390689) | Cod sursa (job #80360) | Cod sursa (job #2380953) | Cod sursa (job #546530) | Cod sursa (job #940321)
Cod sursa(job #940321)
#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);
int 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 <= sqrt(n)) {
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;
}