Bitte bereiten Sie prime.txt ohne Inhalt separat vor.
prime.py
import math
num = 3 #Nummer, um die Erkundung zu starten
prime = [2] #Addiere 2 zur Primzahl
prm_cnt = 1 #Eine Variable, die die gefundenen Primzahlen zählt
pfile = 'prime.txt' #Datei zum Schreiben der gefundenen Primzahl
####################################################################
#Function Description:Zuletzt ausgeführte Lesefunktion für Primzahllistendateien
####################################################################
def load_prime():
global prm_cnt
global prime
global num
file_data = open(pfile, "r")#Datei lesen
print("!! load start !!\n")
for line in file_data:
prime.append(int(line))
num = int(line)
print("!! load end !!\n")
file_data.close()
prm_cnt = len(prime)
####################################################################
#Function Description:Eine Funktion, die ein Flag setzt, wenn eine Primzahl gefunden wird
#Arg1:Zahl, um zu beurteilen, ob es sich um eine Primzahl handelt Teilen Sie durch die bisher erschienenen Primzahlen und prüfen Sie, ob noch ein Rest vorhanden ist
#Arg2:Anzahl der bisher entdeckten Primzahlen
#Arg3:Die Liste der Primzahlen kann von außerhalb der Funktion referenziert werden
#Return:Primzahlurteil FLAG
####################################################################
def prime_func(num ,prm_lp, prm ):
cnt = 0
ret = "FALSE"
for j in range(0,prm_lp):
rem = num % prm[j]
if rem == 0:
cnt = 1#FALSE
break
if cnt == 0:
prm_lp = prm_lp + 1#Zählen Sie neue Primzahlen und erhöhen Sie die Anzahl der Divisionen, um die nächste Primzahl zu finden, um 1.
prm.append(num)#Neue Primzahl zur Liste hinzufügen
ret = "TRUE"
return ret
####################################################################
#Function Description:Suche nach Primzahlen
####################################################################
def calc_prime():
global prime
global prm_cnt
global num
pfile = 'prime.txt'
E_OK = "TRUE"
out_file = open(pfile,'a')
while 1 :
num = num + 2 #Suchen Sie nach 2, da ungerade Zahlen nur Primzahlen enthalten
ret = prime_func(
num, #Nummer, um zu beurteilen, ob es sich um eine Primzahl handelt
prm_cnt, #Anzahl der Primzahlen
prime #Liste der Primzahlen
)
if E_OK == ret: #Primzahlentdeckung
print(str(prime[len(prime)-1]) )
prm_cnt = prm_cnt + 1
out_file.write(str(num) + "\n")
out_file.close()
####################################################################
#Function Description:Hauptfunktion
####################################################################
def Main():
load_prime()
calc_prime()
if __name__=="__main__":
Main()
Recommended Posts