Вызов
Вы должны написать программу, которая принимает положительное целое число в n
качестве входных данных и выводит число n
Фибоначчи th (сокращенное на Fib # повсюду), которое содержит n
th Fib # в качестве подстроки. Для целей этой задачи последовательность Фибоначчи начинается с 1
.
Вот несколько примеров, которые вы можете использовать в качестве тестовых случаев или в качестве примеров, чтобы прояснить проблему (для последнего, пожалуйста, оставьте комментарий внизу, объясняющий, что вы находите неясным).
n=1
Fib#s: 1
^1 1st Fib# that contains a 1 (1st Fib#)
Output: 1
n=2
Fib#s: 1, 1
^1 ^2 2nd Fib# that contains a 1 (2nd Fib#)
Output: 1
n=3
Fib#s: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233
^1 ^2 ^3 3rd Fib# that contains a 2 (3rd Fib#)
Output: 233
n=4
Output: 233
n=5
Output: 6765
n=6
Output: 28657
n=7
Output: 1304969544928657
n=8
Output: 14472334024676221
n=9
Output: 23416728348467685
n=10
Fib#s: 1, ..., 34, 55, 89, ..., 63245986, 102334155, 165580141, ..., 2880067194370816120, 4660046610375530309
^1 ^2 ^3 ^10 10th Fib# that contains a 55 (10th Fib#)
Output: 4660046610375530309
Как всегда, это код-гольф , поэтому выбирайте минимально возможное количество байтов.
Если что-то сбивает с толку / неясно, пожалуйста, оставьте комментарий.
(Эта задача основана на другой проблеме, которую я опубликовал: выведите n-е простое число, содержащее n )
n=25
(выход имеет 1186 цифр), а затем уничтожается n=26
(3085 цифр скомпилировано на моем ноутбуке). Кажется, что скачок в сложности всякий раз, когда fib(n)
получает еще одну цифру (как и следовало ожидать). Следующий скачок, 31, имеет 12990 цифр в конечном выводе.
n=5
тестовый пример, потому что я только что сделал глупую ошибку, когда написал чек, который подсчитал число несколько раз, если подстрока была более одного раза.n=5
поймал бы это из-за55
.