Introdução (pode ser ignorado)
Colocar todos os números positivos em sua ordem regular (1, 2, 3, ...) é um pouco chato, não é? Então, aqui está uma série de desafios em torno de permutações (reorganizações) de todos os números positivos. Este é o segundo desafio desta série. O primeiro desafio pode ser encontrado aqui .
Neste desafio, usamos os códigos Gray para reorganizar os números naturais. Um código Gray ou "código binário refletido" é uma codificação binária de tal maneira que dois valores sucessivos diferem em apenas um bit. Uma aplicação prática dessa codificação é usá-la em codificadores rotativos , daí a minha referência a "Turn My Way" .
Observe que essa codificação deixa algum grau de liberdade. Por exemplo, após o binário 1100, existem quatro códigos possíveis: 1101, 1110, 1000 e 0100. É por isso que definirei como o menor valor não usado anteriormente que difere apenas um caractere na codificação binária. Esta sequência corresponde a A163252 .
Como esse é um desafio de "sequência pura", a tarefa é gerar para um dado como entrada, onde é A163252 .
Tarefa
Dada uma entrada inteira , produza no formato inteiro ( não no formato binário).
é definido como o número inteiro menos positivo que não ocorre anteriormente na sequência, de modo que e diferem em apenas um bit quando escritos em binário.
Nota: a indexação baseada em 1 é assumida aqui; você pode usar a indexação baseada em 0; portanto, , etc. Por favor mencione isso na sua resposta se você optar por usá-lo.
Casos de teste
Input | Output
--------------
1 | 1
5 | 4
20 | 18
50 | 48
123 | 121
1234 | 1333
3000 | 3030
9999 | 9997
Regras
- Entrada e saída são números inteiros (seu programa deve, pelo menos, suportar entrada e saída no intervalo de 1 a 32767)
- Entrada inválida (0, valores flutuantes, seqüências de caracteres, valores negativos etc.) pode levar a resultados imprevisíveis, erros ou comportamento (não) definido. No A163252 , é definido como 0. Para esse desafio, ignoraremos isso.
- Padrão Aplicam- se as regras de E / S .
- As brechas padrão são proibidas.
- Isso é código-golfe , então as respostas mais curtas em bytes ganham
Nota final
Consulte as seguintes perguntas relacionadas (mas não iguais) a PP&CG: