Pagini recente » Cod sursa (job #2352072) | Rating Vladimir Antofi (vladimir520) | Cod sursa (job #1295521) | Cod sursa (job #1415571) | Cod sursa (job #1301627)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
static const int TRUE = 1;
static const int FALSE = 0;
const char *IN_FILE_NAME = "ciur.in";
const char *OUT_FILE_NAME = "ciur.out";
FILE *inputFile, *outputFile;
int main(int argc, char *argv[]) {
inputFile = fopen(IN_FILE_NAME, "r");
int size;
fscanf(inputFile, "%d", &size);
int bitSet[size + 1];
int i;
for (i = 0; i <= size; ++i) {
bitSet[i] = TRUE;
}
int numberOfPrimes = 0;
int k, j;
for (k = 2; k <= size; k++) {
if (bitSet[k]) {
numberOfPrimes++;
for (j = 1; j <= size / k; j += 1) {
bitSet[k * j] = FALSE;
}
}
}
outputFile = fopen(OUT_FILE_NAME, "w");
fprintf(outputFile, "%d", numberOfPrimes);
fclose(inputFile);
fclose(outputFile);
return 0;
}