Создайте код, который принимает список и число в качестве входных данных и генерирует все возможные комбинации с длиной номера. Например, со списком {0,1} и номером 2 :
00
01
10
11
Ваша программа не должна ожидать появления символов в списке дважды или чаще, например {0,0,0,0,0,1,1,5,5}
Убедитесь, что вы распечатали отсортированные комбинации в порядке списка:
Со списком {0,1} и числом 5 (сгенерированным некоторым моим кодом, который слишком длинен, чтобы выиграть):
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
Но со списком {1,0} и номером 2 :
11
10
01
00
Как видите, обратный список означает обратный порядок.
Посмотрите на структуру, это как дерево.
Это код-гольф, поэтому выигрывает самый короткий код в байтах!