У меня есть вопрос, предположим, у меня есть 3 провода, которые можно подключить к входным и выходным узлам 'a', 'b' и 'c', и необходимо вычислить и вернуть комбинационное число парных соединений проводов.
Попытка решить эту проблему вручную показывает, что номер комбинации является просто факториалом номера провода, или 3! , как в следующем примере:
Я заинтересован в алгоритмическом c подходе, хотя (в Python), чтобы решить его для больших чисел, однако мои навыки программирования довольно ужасны на данный момент ...
Поэтому я попытался инициализировать два кортежа с именами входов / выходов: (Может быть, я должен использовать наборы вместо этого, потому что порядок не имеет значения?)
inputs = ('a', 'b', 'c')
outputs = ('a', 'b', 'c')
Но теперь я понятия не имею, что дальше, я пробовал разные методы с вложенными циклами for, но я не могу получить правильные результаты.
Вывод программы в этом случае должен вернуть мне списки с комбинациями, почему-то вот так:
1. [['a <-> a'], ['b <-> b'], ['c <-> c']]
2. [['a <-> a'], ['b <-> c'], ['c <-> b']]
3. [['a <-> c'], ['b <-> b'], ['c <-> a']]
4. [['a <-> b'], ['b <-> a'], ['c <-> c']]
5. [['a <-> b'], ['b <-> c'], ['c <-> a']]
6. [['a <-> c'], ['b <-> a'], ['c <-> b']]
Number of combinations: 6
Еще раз спасибо, я был бы очень благодарен за любую помощь, и извините, если вопрос глупый ...