Algorithmus für n-te Primzahl?

3 Antworten

google mal "Sieb des Eratosthenes".

Du kannst auch die Natürlichen Zahlen in einer Schleife durchlaufen und Primzahltests wie den Fermat auf diese anwenden.

Woher ich das weiß:Studium / Ausbildung – Mathematik

Ist nicht die schnellste Methode aber sollte funktionieren:

//Funktion:
def nth_prime_number(n):
  prime_list = [2]
  num = 3
  while len(prime_list) < n:
    for p in prime_list:
      if num % p == 0:
        break
    else:
      prime_list.append(num)
    num += 2
  return prime_list[-1]

//Funktion mit Paramter aufrufen und ausgeben:
print(nth_prime_number(10))

Hier wird eigentlich einfach immer überprüft, ob num (nächste Primzahl) ein vielfaches von der zuvor gefundenen Primzahl ist. Wenn ja wird es in eine Liste verschoben und wenn die Liste länger ist als "n", wird die letzte Zahl der Liste zurückgegeben.

Liste primzahlen mit den Zahlen 2,3,5,7,11 drin

wenn n<5 ist:
Print(primzahlen(n)sonst:

während primzahlen-länge > n ist:
dividiere jede zahl, die nicht mit 0, 2, 4, 5, 6, 8 endet mit allen zahlen aus primzahlen. wenn keine passt: füge zahl zu liste primzahlen hinzu.