[PYTHON] Finden Sie Primzahlen rekursiv

Einführung

Als Teil des Lernens von Python habe ich Code geschrieben, um rekursiv Primzahlen zu finden.

Code

Diesmal habe ich ein Eratostenes-Sieb verwendet.

Das Sieb des Eratosthenes ist ein einfacher Algorithmus zum Auffinden aller Primzahlen unter einer bestimmten Ganzzahl. Es hat diesen Namen, weil es vom antiken griechischen Wissenschaftler Elatostines erfunden worden sein soll. (Wikipedia "[Eratostenes Sieve](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%A9%E3%83%88%E3%82%B9%E3%83% 86% E3% 83% 8D% E3% 82% B9% E3% 81% AE% E7% AF% A9) ”)

Unten ist der Code.

Sieve.py


array = [i for i in range(2, 100)]  #Wertebereich, den Sie suchen möchten
prime = [2]                  #Liste der Primzahlen

def Sieve(array, prime):     #Eratostenes Sieb
  newArray = []
  for i in array:
    if i%prime[-1] != 0:
      newArray.append(i)
  prime.append(newArray[0])  #Primzahl zur Liste hinzufügen
  if array[-1] == prime[-1]:
    return prime             #Gibt eine Liste von Primzahlen zurück
  return Sieve(newArray, prime)

Prime = Sieve(array, prime)
print(Prime) #Ausgabe

Als Ergebnis wurden die Primzahlen von 2 bis ~~ 100 ~~ 99 gefunden (korrigiert am 22. Dezember 2019).

Ausgabe


[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]

abschließend

Es scheint, dass es eine Obergrenze gibt, wenn es um Wiederholungen in Python geht. Die Obergrenze und deren Änderung wurden in diesem Artikel erläutert.

Danke für Ihren Besuch. Wenn Sie Vorschläge haben, hinterlassen Sie diese bitte im Kommentarbereich.

Recommended Posts

Finden Sie Primzahlen rekursiv
Primzahlen und Brüche
Diskriminierung von Primzahlen
Finden Sie in Python Primzahlen mit einem möglichst kurzen Code
Primzahl in Python
Die diesjährige Primzahl
Beurteilung von Primzahlen mit Python
Finden Sie die Primfaktorisierung der Leistung
Projekt Euler 10 "Summe der Primzahlen"
Es ist eine Primzahl ... Zähle die Primzahlen ...
[Python] nCr mod Primzahlen berechnen
Ich habe mit Python nach einer Primzahl gesucht