Einführung
Für diese Herausforderung müssen Sie die nachgestellten Nullen einer Ganzzahl-Binärdarstellung auf setzen 010101…
. Dies wird am besten anhand eines Beispiels erläutert:
In Anbetracht der Ganzzahl 400
besteht der erste Schritt darin, sie in eine Binärzahl umzuwandeln:
110010000
Wie wir sehen können, ist das fünfte Bit das niedrigstwertige 1
Bit. Von dort aus ersetzen wir die unteren Nullen durch 0101
:
110010101
Zuletzt konvertieren wir das zurück in dezimal: 405
Herausforderung
Bei einer positiven Ganzzahl wird der entsprechende Ergebniswert des oben definierten Prozesses zurückgegeben / ausgegeben.
Regeln
- Diese Sequenz ist nur für Ganzzahlen mit mindestens einem
1
Bit definiert, sodass die Eingabe immer ≥ 1 ist - Sie können die Eingabe stattdessen als Zeichenfolge und als Liste von Dezimalstellen vornehmen
- Sie müssen keine ungültigen Eingaben verarbeiten
Testfälle
Hier sind einige weitere Testfälle mit den Zwischenschritten (Sie müssen diese nicht ausdrucken / zurücksenden):
In -> … -> … -> Out
1 -> 1 -> 1 -> 1
2 -> 10 -> 10 -> 2
3 -> 11 -> 11 -> 3
4 -> 100 -> 101 -> 5
24 -> 11000 -> 11010 -> 26
29 -> 11101 -> 11101 -> 29
32 -> 100000 -> 101010 -> 42
192 -> 11000000 -> 11010101 -> 213
400 -> 110010000 -> 110010101 -> 405
298 -> 100101010 -> 100101010 -> 298
n
die maximale Potenz von 2 die Eingabe teilt, lautet die Antwort einfach(input) + ceil((2^n - 2)/3)