Was ich in Twitter gelesen habe:
Aufgabe:
Programm zum Testen erstellen. Gesetzmäßigkeit analysieren.
Was mir dazu gleich einfällt:
Code:
zahl:64861287124425928 /* EINGABE */$
zahl:string(zahl)$
display(zahl)$
while zahl # "123" do (
liste:charlist(zahl),
ziffern:map(parse_string,liste),
ungerade:sublist(ziffern,oddp),
gerade:sublist(ziffern,evenp),
g:length(gerade),
u:length(ungerade),
gesamt:g+u,
zahl:sconcat(string(g),string(u),string(gesamt)),
display(zahl)
)$
Programmtest:
Das ist aber leicht überlegt. Es muss bei einer dreistelligen Zahl enden (gerade,ungerade,gesamt). Und die muss 123 sein, 213 würde im nächsten Schritt auch 123 ergeben!