Zum Inhalt
Vorlesung 8 Seidl
Aus ProgrammingWiki
<
BuK
<
IIm20
Archivierte Version vom 2021-05-15T13:26:22+00:00.
Aktuelle Version
S. 4
S. 11
import itertools # A Generator alphabet = ["a", "b", "c"] def a(alphabet): for i in range(0, len(alphabet)+1): for word in itertools.product(alphabet, repeat=i): yield word def wort_index(buchstabe, wort): for i, w in enumerate(a(wort)): if len(w) != 1: continue if w[0] == buchstabe: return i # Primzahl Generator def primzahl_generator(n): while True: if ist_primzahl(n): yield n n += 1 def ist_primzahl(n): if n == 2: return True for i in range(2, n): if n % i == 0: return False return True # Gödelnummer def get_goedelnummer(wort): elemente = [] for i_b, buchstabe in enumerate(wort): primzahl = -1 for i_p, p in enumerate(primzahl_generator(2)): primzahl = p if i_b == i_p: break xi = wort_index(buchstabe, wort) elemente.append(primzahl**xi) produkt = 1 for faktor in elemente: produkt = faktor * produkt return produkt # Reverse Gödelnummer (Holzhammer) def wort_von_goedelnummer(n): for w in a(alphabet): goedelnummer = get_goedelnummer("".join(w)) if goedelnummer == n: return "".join(w)
print(get_goedelnummer("aba")) print(wort_von_goedelnummer(90))
ausführen
Seite
Quelltext
Versionen/Autoren
Konto registrieren
Anmelden
Navigation
Startseite
Letzte Änderungen
Alle Seiten
Einführungskurs
Hilfe
Dateien
Suche
Suchen
Werkzeuge
Links auf diese Seite
Spezialseiten