Determinar a distância lexicográfica entre dois inteiros
Digamos que temos os inteiros lexicográficos3,5,6,9,10,12 or 0011,0101,0110,1001,1010,1100
Cada um com dois bits definidos.
O que eu quero é encontrar a distância (quantas permutas lexicográficas entre elas, sem fazer as permutações reais) entre dizer3
e5
usando o mínimo de operações possível.
A tabela de distância é a seguinte
3->5 = 1 or 0011->0101 = 0001
3->6 = 2 or 0011->0110 = 0010
3->9 = 3 or 0011->1001 = 0011
3->10 = 4 or 0011->1010 = 0100
3->12 = 5 or 0011->1100 = 0101
Então, uma função f (3,5) retornaria 1;
A função sempre terá argumentos do mesmo peso de Hamming (mesma quantidade de bits definidos).
Nenhuma matriz deve ser usada.
Qualquer ideia seria ótima.
Editar
Esqueci de mencionar, para qualquer tamanho de bit definido (o peso hamming) sempre usarei a primeira permutação lexicográfica (base
) como o primeiro argumento.
Por exemplo.
hamming weight 1 base = 1
hamming weight 2 base = 3
hamming weight 3 base = 7
...
Editar 2
A solução deve funcionar para qualquer peso hamming, desculpe, eu não era específico o suficiente.