Bei einer Reihe von 1und 2in beliebiger Länge, schreiben einige Code (nicht zu sein braucht Funktion mehr, alles wird in Ordnung sein) , dass berechnet , wie viele Schritte braucht es den String in eine endgültige Form zu schrumpfen, nach diesem Kriterium:
Wenn Ihr String ist 112112, bedeutet dies , dass Sie ein 1 zwei 1s drucken müssen und 2, wie folgt aus :
1112. Wenn Sie den Vorgang erneut ausführen, müssen Sie eine 1 und eine 2 drucken 12. Dann drucken Sie eine 2 und erhalten 2. Dies ist eine endgültige Form, da sich diese Zeichenfolge nicht mehr ändern wird. Ihr Code wird ausgegeben 3, da Sie 3 Schritte benötigt haben, um zum endgültigen Formular zu gelangen.
Andere Regeln
Wenn die Saite ungerade lang ist, bleibt die letzte Zahl unangetastet.
Jede Zeichenfolge, die sich nicht mehr ändern kann (wie
222222), wird als endgültige Form betrachtet.Sie können keine externe Quelle verwenden.
Ihr Code muss mit jeder Zeichenfolge von
1und funktionieren2.Der kürzeste Code gewinnt, da es sich um Code-Golf handelt.
Ihr Code sollte jeden Schritt drucken.
Jede Eingabemethode wird in Ordnung sein.
Beispiele
Input >> 122122122121212212
Your code has to print:
211222111111222
11222111222
122111222
2111222
111222
1222
222
Steps:7 (you can omit the "Steps")
---- ---- ---- ----
Input >> 22222221
Your code has to print:
22222211
2222221
2
---- ---- ---- ----
Input >> 2222
Your code has to print:
0
EDIT: Stark bearbeitet. Es tut mir Leid.
1 11 2. Alle zwei Zahlen sind ein Paar: Die erste Zahl des Paares gibt an, wie oft die zweite Zahl im Paar gerendert werden soll. Jede letzte ungerade Ziffer ohne Partnerpaar wird unverändert wiedergegeben.