Генерация данных гиперкуба

Я пытаюсь получить простой метод (возможно, сценарий или фрагмент кода на c ++), который генерирует гиперссылки, связывающие данные, т. Е. Для n-мерного гиперкуба с вершинами, пронумерованными как 1, ..., 2n, он производит вывод:

1 3
1 5
2 3
...

Где каждая строка представляет связь между двумя вершинами. (связанный вопрос)

Но в несколько ином контексте. Я надеюсь, что кто-то уже сделал это. На входе должна быть размерность гиперкуба. Чтобы напомнить вам, ссылки существуют между двумя узлами тогда и только тогда, когда их узлы отличаются друг от друга ровно на одну битовую позицию. Мое намерение состояло в том, чтобы использовать оператор XOR, и когда результат может быть выражен как 2k для некоторого k представления битов отличаются в одной позиции, и я пишу ссылку. Однако я не уверен, как это реализовать (C ++ или скрипт).

Ответы на вопрос(2)

Ваш ответ на вопрос