Ваша задача - принять это число в качестве входного (хотя оно должно работать и с любым другим числом):
18349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957034571097518349570345710975183495703457109761834957034571097518349570345710975183495703457109751834957034571097518349570345710976183495703457109751834957034571097518349570345710975183495703457109751834957034571097618349570345710975183495703457109751834957
и найти наименьший период, который в этом случае:
1834957034571097518349570345710975183495703457109751834957034571097518349570345710976
Удачи и приятного времяпровождения!
Пояснения :
- Номер ввода имеет как минимум один период и один неполный период
- Период всегда начинается с начала введенного номера
- В данном случае точка означает последовательность чисел, которая повторяется.
>
значит , вы стоите не в том направлении.Ответы:
CJam,
2016 байтовЧитает из STDIN. Попробуйте онлайн.
Приведенный выше код потребует O (n 2 ) памяти, где n - длина ввода. Он будет работать с 2 16 цифрами, если у вас достаточно памяти.
Это можно исправить стоимостью пяти дополнительных байтов:
Пример запуска
Как это работает
Для ввода Q идея состоит в том, чтобы повторить первый символ len (Q) раз и проверить, равен ли индекс Q в результате 0. Если это не так, повторите первые два символа len (Q) раз и т. Д.
источник
Regex (.NET аромат),
2322 байтаЭто будет соответствовать требуемому периоду в качестве подстроки.
Проверьте это здесь.
Как это работает?
источник
aabaabaab
, вероятно, будет соответствовать,a
потому что это повторяется. Я еще не нашел способ решить это в PCRE. Деннис попробовал удалить удаленный ответ, но тот тоже не сработал. Кстати, вам не нужноg
.Python 60
s
это строка цифрнапример:
источник
Pyth , 14 символов
Объяснение:
По сути, он генерирует все начальные последовательности входных данных, повторяет их один
len(z)
раз и определяетz
, находится ли входной элемент в результирующей строке.Это неверный ответ, но недавно в Pyth была добавлена функция, после того как вопрос был задан, который позволяет использовать 12-символьное решение:
При этом используется фильтр по целочисленной функции.
источник
Japt , 8 байт
Попробуй это
-2 байта благодаря Шегги!
Transpiled JS объяснил:
источник
å+ æ@¶îX
Java 8, 125 байт
Принимает ввод в виде строки, так как в Java нет разумного способа представить более 1000 цифр, кроме строки (пожалуйста, не BigInteger).
Попробуйте онлайн!
источник
String
на вар. -3 байта