отказ
Этот вопрос не является дубликатом этого вопроса . Я не считаю конкретные цифры, так как они уже установлены в исходных параметрах. Этот вопрос сосредоточен на десятичных числах, которые могут быть построены из двоичных строк на основе предоставленных цифр.
Вызов
С учетом двух целых чисел Xи Y, представляющих количество нулей ( 0) и ones ( 1) соответственно, вычисляются все возможные десятичные эквиваленты, которые можно определить из создания двоичных строк, используя только предоставленные нули и единицы, и отображают их в качестве выходных данных.
Пример 1:
Входные данные: 0 1
Выход: 1
Объяснение: Только один 1для учета, который может быть преобразован только одним способом.
Пример 2:
Входные данные: 1 1
Выход: 1,2
Пояснение: 01конвертирует в 1, 10конвертирует в 2.
Пример 3:
Входные данные: 3 2
Выход: 3,5,6,9,10,12,17,18,20,24
Пояснение: Три 0с и два 1с делают 00011(3), 00101(5), 00110(6), 01001(9), 01010(10), 01100(12), 10001(17), 10010(18), 10100(20), 11000(24)
Ограничения и правила
- Я только ожидаю, что ваш код будет работать там, где
0 < X + Y <= 16максимальное число в выводе может быть получено только за 161с, то есть параметры0и16. - В результате вышеприведенного ограничения диапазон чисел, которые мы ожидаем в выводе, от
0и65535. - Я приму функции или код, при условии, что будет получен итоговый вывод, будь то список, разделенный запятыми, массив, список, выводимый в STDOUT и т. Д. Единственный критерий, который я должен подчеркнуть, - это то, что он должен быть отсортирован.
- Это код гольфа, минимум байтов получит максимальную славу.
- Мы не потерпим глупых лазеек
0 0?
0 <= X + Y <= 16да, потому что 0 0это будет считаться допустимым вводом, который удовлетворяет этому правилу.
0 0? Число 0 может быть представлено нулем, одним или несколькими нулями.