Quiero calcular el número entero más pequeño con exactamente k
bits establecidos, que es mayor que otro número entero x
.Calcular el entero más pequeño con k bits conjunto que es mayor que otro entero x?
Por ejemplo, si x = 1001010
continuación para k=2
, la respuesta debería ser 1010000
para k=4
, la respuesta debería ser 1001011
y para k=5
la respuesta es 1001111
creo que uno tenga que configurar al menos tan muchos bits como los bits más a la izquierda establecidos en el entero x
, y luego elija entre configurar el bit del lado MSB adyacente al siguiente bit configurado más a la izquierda en x
, o establecer el siguiente bit establecido más a la izquierda y luego ver los siguientes bits repitiendo el sa mi proceso; todo el tiempo contando los bits que quedaron fuera de la k.
No estoy seguro de si este es el enfoque correcto.
proporcionar la muestra de entrada/salida hará que su pregunta mucho más fácil de entender. ¿Quiere decir que los dos enteros deberían tener el mismo número de bits establecidos? – xvatar
@xvatar Creo que 'x' y' k' son ambas entradas para el programa, es decir, 'x = 1001010',' k = 2' devolvería '1010000' – ffao
Esto no es tarea, ¿verdad? –