Pagini recente » Cod sursa (job #2966769) | Cod sursa (job #1275279) | Cod sursa (job #1023916) | Cod sursa (job #3213370) | Cod sursa (job #940328)
Cod sursa(job #940328)
#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;
}
crtNum++;
while(ciur[crtNum] == 0)
crtNum++;
}
int sum = 0;
for (i = 2; i <= n; ++i)
sum += ciur[i];
fprintf(out, "%d\n", sum);
return 0;
}