Heim > Backend-Entwicklung > Python-Tutorial > So bestimmen Sie Primzahlen in Python

So bestimmen Sie Primzahlen in Python

coldplay.xixi
Freigeben: 2023-01-03 09:28:51
Original
42576 Leute haben es durchsucht

So beurteilen Sie Primzahlen in Python: Verwenden Sie zuerst die mathematische Funktion von Python und scannen Sie dann die Primzahlen in einem einzeiligen Programm. Der Code lautet [[ p für p im Bereich (2, N), wenn 0 nicht in [ p% d für d in range(2, int(sqrt(p)].

So bestimmen Sie Primzahlen in Python

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Python-Version 3.9, DELL G3-Computer.

Python-Methode zur Bestimmung von Primzahlen:

1. Mathematik mit der Python-Funktion

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
Nach dem Login kopieren

2. Einzeiliges Programm zum Scannen von 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)] ]
Nach dem Login kopieren

Verwenden Sie das Python-Itertools-Modul

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
Nach dem Login kopieren

3

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Beispiel: Finden Sie die Primzahlen (Primzahlen) zwischen 20001 und 40001

Da es nur durch 1 oder sich selbst geteilt werden kann, bedeutet dies, dass es nur zwei Zeiten gibt, in denen der Rest ist 0. 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
Nach dem Login kopieren

Das Ergebnis lautet wie folgt:

20011
20021
20023
20029
20047
20051
20063
20071
20089
20101
20107
20113
20117
20123
20129
20143
20147
20149
20161
20173
….
Nach dem Login kopieren

Zugehörige kostenlose Lernempfehlungen: Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo bestimmen Sie Primzahlen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage