Votre travail consistera à écrire une fonction ou un programme, qui prendra un entier n>0
en entrée et produira une liste des bords de l' hypercuben
dimensionnel . Dans la théorie des graphes, une arête est définie comme un 2-tuple de sommets (ou coins, si vous préférez), qui sont connectés.
Exemple 1
Un hypercube à 1 dimension est une ligne et comporte deux sommets, que nous appellerons a
et b
.
Par conséquent, la sortie sera:
[[a, b]]
Exemple 2
L'hypercube (ou tesseract) à 4 dimensions se compose de 32 arêtes et son graphique ressemble à ceci
et la sortie pourrait ressembler à ceci
[[a, b], [a, c], [a, e], [a, i], [b, d], [b, f], [b, j], [c, d], [c, g], [c, k], [d, h], [d, l], [e, f], [e, g], [e, m], [f, h], [f, n], [g, h], [g, o], [h, p], [i, j], [i, k], [i, m], [j, l], [j, n], [k, l], [k, o], [l, p], [m, n], [m, o], [n, p], [o, p]]
Règles
- Vous pouvez nommer les sommets comme vous le souhaitez, tant que le nom est unique.
- Les bords ne sont pas orientés, c'est
[a, b]
-à- dire et[b, a]
sont considérés comme le même bord. - Votre sortie ne doit pas contenir de bords en double.
- La sortie peut être dans n'importe quel format sensible.
- Les failles standard sont interdites.
Notation
Le code le plus court gagne.