Python :: Aufgabe #329 :: Lösung #1

2 Lösungen Lösungen öffentlich
#329

Palindromische Primzahlen

Anfänger - Python von hollst - 29.03.2021 um 21:12 Uhr
Man erzeuge eine Liste aller Primzahle <= 1 Milliarde (1E+9), die in dezimaler Präsentation umgekehrt gelesen ebenfalls eine Primzahl sind (Palindromische Primzahlen). Z. B. 13; 31 ist ebenfalls Primzahl.

Viel Spaß!
#1
vote_ok
von eisheiliger (3750 Punkte) - 31.03.2021 um 19:14 Uhr
Quellcode ausblenden Python-Code

"""
#329: Palindromische Primzahlen
Man erzeuge eine Liste aller Primzahle <= 1 Milliarde (1E+9), die in dezimaler Präsentation
umgekehrt gelesen ebenfalls eine Primzahl sind (Palindromische Primzahlen)
"""


def tst_prim(zahl):
    if zahl == 2:
        return True
    if zahl % 2 == 0 or zahl <= 1:
        return False
    for divisor in range(3, int(zahl ** 0.5) + 1, 2):
        if zahl % divisor == 0:
            return False
    return True


def numb_gen(von, bis, fort):
    for z in range(von, bis, fort):
        n = str(z)
        if n == n[::-1]:
            z1 = tst_prim(int(n))
            if z1:
                print(n)


def main():
    print("Einstellige Primzahlpalindrome:")
    numb_gen(1, 9, 1)
    print("Zweistelliges Primzahlpalindrom:")
    numb_gen(11, 99, 2)
    print("Dreistellige Primzahlpalindrome:")
    numb_gen(101, 999, 2)
    print("Vierstellige Primzahlpalindrome:")
    print(". . . gibt es nicht")
    print("Fünfstellige Primzahlpalindrome:")
    numb_gen(1001, 99999, 2)
    print("Sechsstellige Primzahlpalindrome:")
    print(". . . gibt es nicht")
    print("Siebenstellige Primzahlpalindrome:")
    numb_gen(100001, 9999999, 2)
    print("Achtstellige Primzahlpalindrome:")
    print(". . . gibt es nicht")
    print("Neunstellige Primzahlpalindrome:")
    numb_gen(100000001, 199999999, 2)
    numb_gen(300000001, 399999999, 2)
    numb_gen(700000001, 799999999, 2)
    numb_gen(900000001, 999999999, 2)
    print("Zehnstellige Primzahlpalindrome:")
    print(". . . gibt es nicht")


if __name__ == '__main__':
    main()


Kommentare:

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

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

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.