Wprowadzenie (może zostać zignorowane)
Umieszczenie wszystkich liczb dodatnich w regularnej kolejności (1, 2, 3, ...) jest trochę nudne, prawda? Oto szereg wyzwań związanych z permutacjami (przetasowaniami) wszystkich liczb dodatnich. To drugie wyzwanie w tej serii. Pierwsze wyzwanie znajdziesz tutaj .
W tym wyzwaniu wykorzystujemy szare kody, aby zmienić liczby naturalne. Szary kod lub „odbity kod binarny” to kodowanie binarne w taki sposób, że dwie kolejne wartości różnią się tylko jednym bitem. Praktycznym zastosowaniem tego kodowania jest użycie go w koderach obrotowych , stąd moje odniesienie do „Turn My Way” .
Pamiętaj, że to kodowanie pozostawia pewien stopień swobody. Na przykład po binarnym 1100 istnieją cztery możliwe następujące kody: 1101, 1110, 1000 i 0100. Dlatego zdefiniuję jako najmniejszą, nieużywaną wcześniej wartość, która różni się tylko jednym znakiem w kodowaniu binarnym. Ta sekwencja odpowiada A163252 .
Ponieważ jest to wyzwanie „czystej sekwencji”, zadaniem jest wyprowadzenie dla danego jako danych wejściowych, gdzie to A163252 .
Zadanie
Biorąc pod uwagę liczbę całkowitą , wypisz w formacie liczb całkowitych ( nie w formacie binarnym).
jest zdefiniowane jako najmniej dodatnia liczba całkowita nie występująca wcześniej w sekwencji, tak że i różnią się tylko jednym bitem, gdy są zapisywane w systemie binarnym.
Uwaga: tutaj zakłada się indeksowanie 1; możesz użyć indeksowania opartego na 0, więc itd. Podaj to w swojej odpowiedzi, jeśli zdecydujesz się na to.
Przypadki testowe
Input | Output
--------------
1 | 1
5 | 4
20 | 18
50 | 48
123 | 121
1234 | 1333
3000 | 3030
9999 | 9997
Zasady
- Dane wejściowe i wyjściowe są liczbami całkowitymi (twój program powinien co najmniej obsługiwać dane wejściowe i wyjściowe w zakresie od 1 do 32767)
- Nieprawidłowe dane wejściowe (0, liczby zmiennoprzecinkowe, ciągi, wartości ujemne itp.) Mogą prowadzić do nieprzewidzianych wyników, błędów lub (nie) zdefiniowanego zachowania. W A163252 , definiuje się jako 0. Dla tego wyzwania, będziemy ignorować to.
- Obowiązują domyślne reguły we / wy .
- Domyślne luki są zabronione.
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach
Ostatnia uwaga
Zobacz następujące powiązane (ale nie równe) pytania PP&CG:
