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