Encontrando al Padre
Submit solution
Points:
100 (partial)
Time limit:
1.0s
Memory limit:
64M
Author:
Problem type
Allowed languages
C, C++, Java, Pascal
Los números tienen ADN como los humanos. El ADN de un número es su representación binaria. Recientemente surgió una nueva teoría: el padre de un número dado de bits es el menor número de bits mayor que tiene la misma cantidad de unos en su ADN.
Dado un entero positivo , encuentre el menor entero mayor que que de acuerdo con esta teoría podría ser su padre.
Entrada
La entrada contendrá varias líneas, pero no más de . En cada línea, estará entre y , inclusive.
Salida
Para cada línea en la entrada, debe imprimir una línea con la representación decimal del padre de (el número dado).
Ejemplo de Entrada
12
88
1024
Ejemplo de Salida
17
97
2048
Comments
Lo que sigue te puede economizar tiempo, no es la solución al ejercicio.
Para leer los numero y procesarlos sugiero:
Para los simples mortales como yo que nunca habían manipulado bits echarle un ojo a
std::bitset
y para que veas a los dioses cuando le des solución al problema mira el primer código de las mejores soluciones.