Python :: Aufgabe #329 :: Lösung #1
2 Lösungen
#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ß!
Viel Spaß!
#1
von eisheiliger (3750 Punkte)
- 31.03.2021 um 19:14 Uhr
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
Seite 1 von 0
1