Collatz Ztalloc
Ciąg Collatz conjecture jest jednym z najbardziej znanych nierozwiązanych problemów w matematyce. Jednakże, ciąg Collatza może być również postrzegany w sposób binarny, w zależności od tego, czy każda wartość jest krokiem up (3x+1) lub down (x/2) od poprzedniej wartości, oznaczając te kroki odpowiednio "u", "d". Na przykład, zaczynając od n=12, oto sekwencja i kształt kroku:
W zależności od typu data, funkcja musi zwrócić wartość początkową (jeśli podano kształt ciągu liter "u", "d" ) lub kształt kroków (jeśli podano wartość).
Funkcja ta musi również rozpoznawać, że niektóre ciągi kształtów są niemożliwe, zgodnie z regułami przejścia Collatza, i poprawnie zwracać None dla wszystkich takich kształtów. Należy rozpocząć od stanu docelowego 1 i wykonać podane przejścia w odwrotnej kolejności. Po drodze należy upewnić się, że funkcja nie akceptuje ruchów, które byłyby nielegalne w oryginalnej sekwencji Collatza.
Dane wejściowe: String (str) lub liczba całkowita (int).
Wyjście: String (str), liczba całkowita (int) lub Brak.
Przykłady:
assert collatz_convert("ududududddddudddd")...