Heim >Backend-Entwicklung >Python-Tutorial >Einfache Möglichkeit, Primzahlen (Primzahlen) mit Python zu ermitteln
In diesem Artikel wird hauptsächlich die einfache Methode zur Verwendung von Python zur Bestimmung von Primzahlen (Primzahlen) vorgestellt. Python, das häufig für wissenschaftliche Berechnungen verwendet wird, ist natürlich einfach, solche kleinen Probleme zu lösen ^_- Freunde, die es benötigen, können sich darauf beziehen dazu
Primzahlen werden auch Primzahlen genannt. Bezieht sich auf eine natürliche Zahl größer als 1, die nicht durch andere natürliche Zahlen außer 1 und der ganzen Zahl selbst teilbar ist. Primzahlen spielen in der Zahlentheorie eine wichtige Rolle. Zahlen größer als 1, aber keine Primzahl, werden zusammengesetzte Zahlen genannt. 1 und 0 sind weder Primzahlen noch zusammengesetzte Zahlen. Primzahlen sind zwei Konzepte, die den zusammengesetzten Zahlen entgegengesetzt sind. Die beiden bilden eine der grundlegendsten Definitionen in der Zahlentheorie. Es gibt viele erstklassige Probleme, die auf der Definition von Primzahlen basieren, wie zum Beispiel die Goldbach-Vermutung. Der Fundamentalsatz der Arithmetik beweist, dass jede positive ganze Zahl größer als 1 als Produkt von Primzahlen geschrieben werden kann und dass die Form dieses Produkts eindeutig ist. Der wichtige Punkt dieses Theorems ist, dass 1 aus der Menge der Primzahlen ausgeschlossen ist. Wenn 1 als Primzahl betrachtet wird, müssen diese strengen Formulierungen einige Einschränkungen mit sich bringen. Vor ein paar Tagen fragte ein Freund Python gelegentlich, wie man Primzahlen ermittelt, und fasste mehrere Methoden von Python-Skripten zusammen, um festzustellen, ob eine Zahl Primzahlen ist:
1. Verwenden von Python-Mathematikfunktionen
import math def isPrime(n): if n <= 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return True
2. Einzeiliges Programm scannt Primzahlen
from math import sqrt N = 100 [ p for p in range(2, N) if 0 not in [ p% d for d in range(2, int(sqrt(p))+1)] ]
Verwenden Sie das Itertools-Modul von Python
from itertools import count def isPrime(n): www.jb51.net if n <= 1: return False for i in count(2): if i * i > n: return True if n % i == 0: return False
3. Zwei Methoden ohne Verwendung von Modulen
Methode 1:
def isPrime(n): if n <= 1: return False i = 2 while i*i <= n: if n % i == 0: return False i += 1 return True
Methode 2:
def isPrime(n): if n <= 1: return False if n == 2: return True if n % 2 == 0: return False i = 3 while i * i <= n: if n % i == 0: return False i += 2 return True
Beispiel: Finden Sie die Primzahl (Primzahl) zwischen 20001 und 40001
Da sie nur durch 1 oder sich selbst geteilt werden kann, bedeutet dies, dass es nur 2 Zeiten gibt, in denen der Rest 0 ist Der Code lautet wie folgt:
#!/usr/bin/python L1=[] for x in xrange(20001,40001): n = 0 for y in xrange(1,x+1): if x % y == 0: n = n + 1 if n == 2 : print x L1.append(x) print L1
Die Ergebnisse sind wie folgt:
20011 20021 20023 20029 20047 20051 20063 20071 20089 20101 20107 20113 20117 20123 20129 20143 20147 20149 20161 20173 ….
Mehr mit Python. Für einfache verwandte Artikel zur Beurteilung von Primzahlen (Primzahlen) achten Sie bitte auf die chinesische PHP-Website!