Introduzione (potrebbe essere ignorata)
Mettere tutti i numeri positivi nel suo ordine regolare (1, 2, 3, ...) è un po 'noioso, no? Quindi ecco una serie di sfide intorno alle permutazioni (rimpasto) di tutti i numeri positivi. Questa è la seconda sfida di questa serie. La prima sfida può essere trovata qui .
In questa sfida, utilizziamo i codici Gray per riordinare i numeri naturali. Un codice Gray, o "codice binario riflesso" è una codifica binaria in modo tale che due valori successivi differiscano in un solo bit. Un'applicazione pratica di questa codifica è usarla negli encoder rotativi , da cui il mio riferimento a "Turn My Way" .
Nota che questa codifica lascia un certo grado di libertà. Ad esempio, seguendo il binario 1100, ci sono quattro possibili codici seguenti: 1101, 1110, 1000 e 0100. Per questo definirò come valore più piccolo, non utilizzato in precedenza, che differisce solo un carattere nella codifica binaria. Questa sequenza corrisponde a A163252 .
Poiché si tratta di una sfida "sequenza pura", il compito è quello di produrre per un dato n come input, dove a (n) è A163252 .
Compito
Dato un input intero , output in formato intero ( non in formato binario).
è definito come il numero intero meno positivo che non si verifica in precedenza nella sequenza in modo tale che e differiscano in un solo bit quando scritto in binario.
Nota: qui si assume l'indicizzazione basata su 1; puoi utilizzare l'indicizzazione basata su 0, quindi , ecc. Indicare questo nella risposta se si sceglie di utilizzarlo.
Casi test
Input | Output
--------------
1 | 1
5 | 4
20 | 18
50 | 48
123 | 121
1234 | 1333
3000 | 3030
9999 | 9997
Regole
- Input e output sono numeri interi (il tuo programma dovrebbe almeno supportare input e output nell'intervallo da 1 a 32767)
- Input non validi (0, float, stringhe, valori negativi, ecc.) Possono causare output non previsti, errori o comportamenti (non) definiti. In A163252 , è definito come 0. Per questa sfida, lo ignoreremo.
- Si applicano le regole I / O predefinite .
- Sono vietate le scappatoie predefinite .
- Questo è code-golf , quindi vince la risposta più breve in byte
Nota finale
Vedi le seguenti domande relative (ma non uguali) ai PP&CG:
