Antwort an „Matthias Apsel“ verfassen

Hallo Gunnar Bittersmann,

Ein regulärer Ausdruck, der eine durch 4 teilbare Zahl angibt, sieht also so aus:
[048]|[0-9]*([02468][048]|[13579][26])

[02468][048] | [13579][26] kann man sich ohne Hilfsmittel gut beim Spazierengehen überlegen.

[0-9]* ist trivial, [048] kommt dann ins Spiel, wenn man die Sonderfälle beachten möchte und den Automaten damit auf drei Zustände reduziert.

Den Gipfel der Faulheit erreichte @Matthias Apsel, der auch die geraden Zahlen in zwei benannte Klassen {0, 4, 8} und {2, 6} einteilte und dann jeden Pfeil mit nur jeweils einem Buchstaben beschriftete.

Aber dafür hatte ich sprechende Zustandsnamen.

die Zustände heißen

  • R0 für "Einerziffer hat bei Division durch 4 den Rest 0"
  • R2 für "Einerziffer hat bei Division durch 4 den Rest 2"
  • U für "Einerziffer ist ungerade"

das Eingabealphabet

  • n ∈ N = {0; 4; 8}
  • z ∈ Z = {2; 6}
  • u ∈ U = {1; 3; 5; 7; 9}

endlicher Automat
(Grafik erstellt mit FLACI)

Bis demnächst
Matthias

--
Pantoffeltierchen haben keine Hobbys.
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

abbrechen