Generieren von Hypercube-Links

Ich versuche, eine einfache Methode (ein Skript oder ein C ++ - Snippet, vielleicht) zu erhalten, die Hypercube-Verknüpfungsdaten generiert, dn, es erzeugt die Ausgabe:

1 3
1 5
2 3
...

Wobei jede Zeile eine Verbindung zwischen zwei Eckpunkten darstellt. (verwandte Frage)

Aber in einem irgendwie anderen Kontext. Ich hoffe jemand hat das schon getan. Die Eingabe sollte die Hypercube-Dimensionalität sein. Zur Erinnerung: Verknüpfungen bestehen nur dann zwischen zwei Knoten, wenn sich ihre Knoten-IDs in genau einer Bitposition unterscheiden. Ich wollte den XOR-Operator verwenden, und wenn das Ergebnis als 2 ausgedrückt werden kannk für einige k unterscheiden sich dann die Bitdarstellungen in einer einzelnen Position, und ich schreibe einen Link. Ich bin mir jedoch nicht sicher, wie ich das implementieren soll (C ++ oder Skript).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage