Это последний недостающий элемент, который мне нужен для завершения моего алгоритма сжатия, нового. Предположим, у меня есть 4 бита с 2 битами, установленными как 1, 0011. Общее количество перестановок для этого номера - 0011, 0101, 0110, 1001, 1010, 1100, 6 случаев. Это можно вычислить с помощью расчета.Как найти n-ю бинарную перестановку?
4!/((2!) (4-2)!) = 6
Теперь я хочу, чтобы найти n-ю последовательность, например, 1-й номер 0011, второе число 0101. Так что если я скажу n = 5 , Я хочу иметь возможность получить 5-ю последовательность перестановок 1010 от начального 0011. Как мне это сделать?
Вы можете повторить их, это решение работает до 63-битных чисел: https://codereview.stackexchange.com/a/162983/21279 – RobAu