Python :: Aufgabe #151 :: Lösung #4

4 Lösungen Lösungen öffentlich
#151

Symmetrische Primzahlen

Anfänger - Python von hollst - 03.04.2017 um 13:55 Uhr
Wieviele Primzahlen P < 1.000.000 sind rückwärts gelesen auch eine Primzahl, jedoch ungleich sich selbst?

Anmerkung: Die (Prim)zahlen 2, 3, 5, 7, 11 erfüllen nicht die Bedingungen (sind rückwärts gelesen sich selbst gleich),
als erste erfüllt die 13 die Bedingungen.
#4
vote_ok
von satn1241 (3090 Punkte) - 07.04.2020 um 17:08 Uhr
Quellcode ausblenden Python-Code
liste = list(range(13,1000000))

#Primzahltest
def prim_zahl(zahl):
    a = int(zahl**0.5)
    for j in range(2, a+1):
        if zahl%j ==0:
            b = 0
            break
        else:
            b = 1
    return b

#Nicht-Primzahlen entfernen
for i in range(0,len(liste)):
    if prim_zahl(liste[i]) == 0:
        liste[i] = "X"
for j in range(0,liste.count("X")):
    liste.remove("X")
# Umgedrehte Nicht-Primzahlen und spiegelsymmetrische Primzahlen entfernen
for i in range(0,len(liste)):
    a = ""
    for k in range(0,len(str(liste[ji]))):
        a= (str(liste[i]))[k] +a
    if prim_zahl(int(a)) == 0:
        liste[i] = "X"
    if liste[i] == int(a):
        liste[i] = "X"
for j in range(0,liste.count("X")):
    liste.remove("X")

print(len(liste))
# bei 1.000.000 bei mir Laufzeit sehr lang

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben