fork download
  1. #include <iostream>
  2.  
  3. bool isPrime(unsigned n)
  4. {
  5. if(n < 2) // zahlen < 2 sind keine primzahlen
  6. return false;
  7.  
  8. for(unsigned i = 2; i * i <= n; ++i) // fuer alle zahlen 2, 3, ..., wurzel(n) - 1, wurzel(n) ...
  9. if(n % i == 0) // ... wenn n durch i teilbar ist, ...
  10. return false; // ... dann haben wir keine primzahl
  11.  
  12. return true; // wenn n durch keine der zahlen teilbar ist, dann haben wir eine primzahl gefunden
  13. }
  14.  
  15. int main()
  16. {
  17. std::cout << "Wie viele Primzahlen?\n";
  18.  
  19. unsigned numberOfPrimes;
  20. std::cin >> numberOfPrimes;
  21.  
  22. // count zaehlt die anzahl der primzahlen, die wir schon gefunden haben
  23. // n zaehlt einfach der reihe nach solange zahlen hoch, bis wir fertig sind
  24. for(unsigned count = 0, n = 0; count != numberOfPrimes; ++n) // solange wir noch nicht genug primzahlen haben ...
  25. if(isPrime(n)) // ... wenn die aktuelle zahl eine primzahl ist ...
  26. {
  27. std::cout << n << ' '; // ... dann gib die zahl aus ...
  28. ++count; // ... und erhoehe die anzahl gefundener primzahlen um 1
  29. }
  30. }
Success #stdin #stdout 0s 3344KB
stdin
25
stdout
Wie viele Primzahlen?
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97