Problema do peso binário

From AdonaiMedrado.Pro.Br
Revision as of 08:06, 17 September 2008 by 189.105.10.248 (Talk) (Dificuldade Única)

Jump to: navigation, search

Dificuldade Única

Problema adaptado de http://www.topcoder.com/stat?c=problem_statement&pm=8576&rd=13507

O peso binário (PB) de um número N é dado pela quantidade de bits 1 que ele possui.

Dado um número N e um número K ambos inteiros positivos, fazer um programa que retorne os K menores inteiros maiores que N que possuem o mesmo PB de N.

No caso de não haver K números com mesmo peso igual na faixa dos números com 32 bits, retornar todos os possíveis se existirem.

Nos exemplos abaixo a ordem de entrada é sempre N, K.

Exemplo 1

Entrada

12
3

Saída

17
18
20

Exemplo 2

Entrada

1
10

Saída

2
4
8
16
32
64
128
256
512
1024

Exemplo 3

Entrada

4294967293
10

Saída

4294967294