Старейшая польская соляная шахта, расположенная в Бохне *, была основана в 1248 году, что можно считать магическим числом . Мы можем видеть , что он равен 4 цифры от последовательности возведения в степень: .
Поскольку дата на самом деле составляет 4 цифры из последовательности, мы можем сделать ее длиннее. Мы могли бы повторить процесс, пока не достигнем бесконечности. Последовательность будет выглядеть так, если мы ограничим ее числом2048
124816326412825651210242048
Чтобы это выглядело немного лучше, мы можем разделить числа:
1|2|4|8|16|32|64|128|256|512|1024|2048
Давайте попробуем пользовательскую, более длинную последовательность, чем дата. Допустим, мы хотим, чтобы он имел 5 цифр - существует более одной возможности:
24816
81632
64128
Или 3 цифры:
124
248
816
Мы могли бы также добавить к этому 3-значные числа, но, скажем, последовательность должна иметь как минимум два числа .
* В английской Википедии нет информации об этом. Если вы вводите польскую версию - то есть. Если вы посетите шахту, рабочие также скажут вам, что она началась в 1248 году.
Соревнование
Создайте последовательность возведения в степень, как в примерах выше, с основанием 2.
Учитывая число в диапазоне 2-27, выведите все возможные части последовательности (2048 или больше, если хотите) с количеством цифр, равным вводу. Вы не можете вырезать число, поэтому вывод вроде 481
недопустим, потому что 16 разрезается пополам.
Правила:
- Стандартные лазейки запрещены.
- Вы можете предположить, что ввод - это число внутри диапазона.
- Ваша программа может принимать входные данные, превышающие диапазон (28+), но это не увеличит / уменьшит оценку.
- Пробелы в выходных данных игнорируются. Вы можете выводить как
124
или как4 8 16
. - Различные возможности должны быть отделены любым символом из списка:
,./|
или переводом строки. - Вы можете вывести в виде массива.
- Каждая возможность должна включать как минимум 2 разных номера .
- Вы должны выходная часть последовательности, вы не можете смешивать номера, которые не рядом друг с другом, как:
14
. - Жестко закодированный вывод не разрешен, однако вы можете жестко закодировать строку / число / массив, содержащий полную последовательность.
- Вход 27 должен возвращать полную последовательность 2048.
- Как уже упоминалось ранее, не сокращайте числа . Ex.
16
должен остаться16
- ты не можешь использовать481
- ты должен использовать4816
. - РЕДАКТИРОВАТЬ: Я мог бы сказать что-то не так там; 2048 - это последний номер, который должна поддерживать ваша программа, вы можете добавить поддержку для больших целых чисел.
Контрольные примеры
Входные данные: 2
12, 24, 48
Входные данные: 3
124, 248, 816
Входные данные: 4
1248, 4816, 1632, 3264
Входные данные: 5
24816, 81632, 64128
Входные данные: 27
124816326412825651210242048
А потом цифры ...
Если я допустил ошибку в каком-либо из тестовых случаев, сообщите мне или отредактируйте вопрос.
Это код-гольф , поэтому выигрывает самый короткий код в байтах!