Problema 4
Bases Binaria y Negabinaria
bases.pas, bases.c, bases.cpp

Cualquier número n se puede representar en base dos (sistema binario): n = a0×20 + a1×21 + ... + am×2m, donde cada ai = 0 o ai = 1. Por ejemplo: 10 = 0×20 + 1×21 + 0×22 + 1×23, y se representa como 1010.
De igual forma cualquier número n se puede representar en base -2 (sistema nega-binario): n = a0×(-2)0 + a1×(-2)1 + ... + am×(-2)m, donde cada ai = 0 o ai = 1. Por ejemplo: 10 = 0×(-2)0 + 1×(-2)1 + 1×(-2)2 + 1×(-2)3 + 1×(-2)4, y su representación es 11110.
La números de Moser -de Bruijn son aquellos que tienen la misma representación en base 2 (binario) y en base –2 (negabinario).

Problema
Encontrar todos los números de Moser -de Bruijn en un intervalo dado.

Entrada
La entrada tendrá una sola línea con dos números enteros positivos a y b, 0 ≤ ab ≤ 1,000,000.

Salida
Tantos renglones como números de la sucesión de Moser -de Bruijn existan entre a y b, incluyendo a éstos. Debes escribir en orden creciente los números, uno por renglón. Siempre habrá al menos un número de la sucesión de Moser -de Bruijn en el intervalo.

Ejemplo

entrada salida
0 10 0
1
4
5

 


Concurso: ICPC - 6 Concurso Interno de la Universidad Bonaterra. 26/Mayo/2006
Propuesto por: Pier Paolo Guillén Hernández
Ayuda: entradas, salidas, sugerencias
Soluciones: bases.pas, bases.c, bases.cpp


World of πer