Esto se inspiró en el problema 13: binario no repetido de la reciente competencia de HP CodeWars.
Tomemos un número decimal aleatorio, digamos
727429805944311
y mira su representación binaria:
10100101011001011111110011001011101010110111110111
Ahora dividir esa representación binaria en subsecuencias donde los dígitos 0
y 1
alternos.
1010 010101 10 0101 1 1 1 1 1 10 01 10 0101 1 1010101 101 1 1 1 101 1 1
Y convertir cada subsecuencia nuevamente en decimal.
10 21 2 5 1 1 1 1 1 2 1 2 5 1 85 5 1 1 1 5 1 1
La tarea
Tome un solo entero positivo como entrada y salida de la secuencia de enteros positivos obtenida por el proceso anterior.
Detalles
- La entrada y la salida deben estar en decimal o unario.
- Los números en la salida deben estar separados de manera sensible y legible para los humanos, y deben estar en decimal o unario. No hay restricción en el espacio en blanco. Estilos de salida válidos:
[1,2,3]
,1 2 3
,1\n2\n3
donde\n
son literales saltos de línea, etc.
Casos de prueba
Input | Output
0 | 0
1 | 1
2 | 2
3 | 1 1
4 | 2 0
5 | 5
6 | 1 2
7 | 1 1 1
8 | 2 0 0
9 | 2 1
10 | 10
50 | 1 2 2
100 | 1 2 2 0
1000 | 1 1 1 1 10 0 0
10000 | 2 1 1 2 0 2 0 0 0
12914 | 1 2 2 1 1 2 2
371017 | 5 42 10 2 1
Nota adicional: todos los números en la salida deben ser de la forma (2^k-1)/3
o 2*(2^k-1)/3
. Es decir, 0 1 2 5 10 21, 42, 85, 170, ...
que es A000975 en el OEIS.
|tac
permanecerá en mi respuesta entonces :)