#include <iostream>

bool isPrime(unsigned n)
{
	if(n < 2) // zahlen < 2 sind keine primzahlen
		return false;

	for(unsigned i = 2; i * i <= n; ++i) // fuer alle zahlen 2, 3, ..., wurzel(n) - 1, wurzel(n) ...
		if(n % i == 0) // ... wenn n durch i teilbar ist, ...
			return false; // ... dann haben wir keine primzahl

	return true; // wenn n durch keine der zahlen teilbar ist, dann haben wir eine primzahl gefunden
}

int main()
{
	std::cout << "Wie viele Primzahlen?\n";

	unsigned numberOfPrimes;
	std::cin >> numberOfPrimes;

	// count zaehlt die anzahl der primzahlen, die wir schon gefunden haben
	// n zaehlt einfach der reihe nach solange zahlen hoch, bis wir fertig sind
	for(unsigned count = 0, n = 0; count != numberOfPrimes; ++n) // solange wir noch nicht genug primzahlen haben ...
		if(isPrime(n)) // ... wenn die aktuelle zahl eine primzahl ist ...
		{
			std::cout << n << ' '; // ... dann gib die zahl aus ...
			++count; // ... und erhoehe die anzahl gefundener primzahlen um 1
		}
}