Benutzer Diskussion:Soufiane
Aus ProgrammingWiki
Die Funktion h wird implementiert, wie im Fachtext definiert, und sie lieft Gödelnummer von Eingabe Wort (Verschlusselung im 3er-System)
die Funktion isGoedelnumber testet, ob eine gegebene natürliche Zahl eine Gödelnummer ist
$$f(x) = \begin{cases} true , x < 3\\ false , x mod 3 = 0\\ f( \lfloor{}x/3 \rfloor{}), sonst \end{cases}$$.
Wenn zahl 1 oder 2 eingeben, tritt der Elementarfall ein und die Lösung lautet wahr, sonst prüft die Funktion, ob der Eingabe Zahl lauft wie folgenden Schema:
$$X_{i}3^{i} + X_{i-1}3^{i-1} + ... + X_{1}3^{1} + X_{0}3^{0} $$
Sodass X jeweils die Werte 1 oder zwei annehmen muss. Ist der letzte Summand gleich 0, so entspricht die angegebene Zahl einem Vielfachen von 3. Da der letzte Summand aber 1 oder 2 sein muss, entspricht das nicht dem Schema und es muss falsch zurückgegeben werden. (x mod 3 = 0) Die folgenden Schritte bestehen nun darin auch die nachfolgenden Summanden dieser Prüfung zu unterlegen. Dazu eliminiert das Programm mittels Division durch drei und anschließender Abrundung den letzten Summanden und wird selbst angerufen.
Wir prüfen Nummern 10 und 16.
die Funktion g liefert die Folge der Gödelnummern mithilfe der Funktion p
- Die Funktion getCombination erstellt alle möglich Varianten(Kombination) zwischen gegeben Zahlen. - Die Funktion praedikat funktioniert wie ein filter für alle Varianten, die die Funktion getCombination erstellt. Und lieft passenden Kombination von Eingabe Zahl - Die Funktion convert konvertiert Eingabe zahl zu Alphabet, sodass a=1 und b=2
Die Funktion k liefert - mithilfe der Funktion praedikat und convert -wort von Eingabe Gödelnummer.
Prozedur zur Berechnung der ersten 10 Gödelnummern
test die funktionen h und k