// Markus Raab
// Das Sieb des ....

#include <stdio.h>
#define MAX_AUSGANG 10000
#define MAX_ERGEB 1000

void print_field (int * field, int size) {
	int e;
	for (e=1; e<size; e++)
	{
		printf ("%d\n", field[e-1]);
		// if (!(e % 6)) printf ("\n");
	}
	printf ("\n");
}	


int main()
{
	int ausgang [MAX_AUSGANG]; // ausgangsfeld
	int ergebnis [MAX_ERGEB]; // ergebnisse
	int i,j,e; // diverse Zählvariablen

	for (i=0; i< MAX_AUSGANG; i++) {
		ausgang [i] = i; // 0 u. 1 überspringen
	}

	for (e=0,j=2; j< MAX_AUSGANG; j++) {
		if (ausgang[j] == 0)	// bereits gelöscht
		{
			continue;	// gleich nächsten angehen
		} else {
			if (e > MAX_ERGEB)
				break;	// keine lösungen
			//haben mehr platz! abbruch
			ergebnis[e++] = ausgang[j];
			ausgang[j] = 0;
		}
		for (i=j; i< MAX_AUSGANG; i++) {
			if (ausgang[i]%j == 0) // sieben
				ausgang[i] = 0;
		}
	}
	print_field (ergebnis , e+1);
	return 0;
}


