#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 1000

int main(int argc, char * argv[])
{
	int i, j;
	char * pole = NULL;
	
	/* alokuj pamat */
	pole = malloc(MAX * sizeof(char));
	if (pole == NULL) {
		/* chyba */
		fprintf(stderr, "Nedostatok pamate!\n");
		return -1;
	}
	
	/* vynuluj pole */
	memset(pole, 0, MAX * sizeof(char));
	
	for (i = 2; i < MAX; i++) {
		/* ak je skrtnute, pokracuj */
		if (pole[i]) continue;
		/* je to prvocislo - vypis ho */
		fprintf(stdout, "%d ", i);
		/* skrtni vsetky nasobky */
		for (j = 2*i; j < MAX; j += i) {
			pole[j] = 1;
		}
	}
	fprintf(stdout, "\n");
	
	/* uvolni pamat */
	free(pole);

	return 0;
}
