Для любого целого числа , существует сила 2 каждая из которых в прошлом цифры 1 или 2.
Для заданного найдите наименьший такой, что состоит только из 1 или 2.
Для , , так как
Для , , так как
Примечание: для , является (снова)
Ввод:
Выход:
Например.
Ввод: 2
Выход: 9Ввод: 3
Выход: 89
Программа должна запускаться в разумные сроки.
РЕДАКТИРОВАТЬ: oeis последовательность для этого вызова A147884 .
code-golf
number
number-theory
st0le
источник
источник
Ответы:
Питон, 166 символов
источник
Wolfram Language (Mathematica) ,
78765755 байтовПопробуйте онлайн!
IntegerDigits[a,10,r]
генерирует списокr
последних десятичных цифрa
. Вычтите 3/2 и убедитесь, что они все либо -1/2, либо +1/2.Проверка времени: 20 секунд на TIO для
r = 1 .. 10
.Wolfram Language (Mathematica) ,
102959189 байтПопробуйте онлайн!
Это решение намного длиннее, но намного быстрее. Пройдя путь, предложенный в OEIS A147884, чтобы пройти через OEIS A053312 , а также используя
FindInstance
магию, TIO удается вычислитьr = 1 .. 12
менее чем за минуту.источник
Рубин - 118 символов
источник
Хаскель, 115 знаков
источник
Python 3 , 63 байта
Попробуйте онлайн!
источник
05AB1E ,
1815 байтПопробуйте онлайн или проверьте первые 8 тестовых случаев (больше времени ожидания).
Объяснение:
источник
CSharp - 111 символов
источник
Perl 5
-Mbigint -p
, 33 байтаПопробуйте онлайн!
источник
Юлия
133122 (51) байтВдохновленный ответом ВАС:
Попробуйте онлайн!
Следующее намного короче, но вылетает при r> 8, как и некоторые другие ответы:
Попробуйте онлайн!
источник