Introducción (puede ser ignorado)
Poner todos los números positivos en su orden regular (1, 2, 3, ...) es un poco aburrido, ¿no? Así que aquí hay una serie de desafíos en torno a las permutaciones (reorganizaciones) de todos los números positivos. Este es el segundo desafío de esta serie. El primer desafío se puede encontrar aquí .
En este desafío, usamos códigos grises para reorganizar los números naturales. Un código gris, o "código binario reflejado" es una codificación binaria de tal manera que dos valores sucesivos difieren en un solo bit. Una aplicación práctica de esta codificación es usarla en codificadores rotativos , de ahí mi referencia a "Turn My Way" .
Tenga en cuenta que esta codificación deja cierto grado de libertad. Por ejemplo, después del 1100 binario, hay cuatro posibles códigos siguientes: 1101, 1110, 1000 y 0100. Es por eso que definiré como el valor más pequeño, no utilizado previamente, que difiere solo un carácter en la codificación binaria. Esta secuencia corresponde con A163252 .
Como se trata de un desafío de "secuencia pura", la tarea es generar para un dado como entrada, donde es A163252 .
Tarea
Dada una entrada entera , salida en formato entero ( no en formato binario).
se define como el número entero menos positivo que no aparece antes en la secuencia, de modo que y difieren en un solo bit cuando se escriben en binario.
Nota: aquí se supone una indexación basada en 1; puede usar indexación basada en 0, entonces , etc. Mencione esto en su respuesta si elige usar esto.
Casos de prueba
Input | Output
--------------
1 | 1
5 | 4
20 | 18
50 | 48
123 | 121
1234 | 1333
3000 | 3030
9999 | 9997
Reglas
- La entrada y la salida son enteros (su programa al menos debe admitir entradas y salidas en el rango de 1 hasta 32767)
- La entrada no válida (0, flotantes, cadenas, valores negativos, etc.) puede generar salidas imprevistas, errores o un comportamiento (no) definido. En A163252 , se define como 0. Para este desafío, lo ignoraremos.
- Se aplican las reglas de E / S predeterminadas .
- Las lagunas predeterminadas están prohibidas.
- Este es el código de golf , por lo que gana la respuesta más corta en bytes
Nota final
Consulte las siguientes preguntas relacionadas (pero no iguales) de PP&CG: