b
Попробуйте онлайн!
Объяснение:
a
||answer||
Р, 65 байт
1001
Стандартная рекурсия для генерации фибнумов, но вместо завершения на основе f(0)
, terminates when n
соответствует регулярному выражению 1
. This actually works surprisingly well. I assumed that using regex with numerics would require a lot of hassle converting them to strings, but that doesn't seem to be necessary :)
Это также должно пропустить рекурсию на 1 шаг, проверив a
instead of b
а затем вычитание x
from b
. Это чтобы убедиться n
works properly.
Это не работает для большинства значений, когда входные данные превышают f=function(x,n=1,a=1,b=0)`if`(grepl(x,b),c(b,n-1),f(x,n+1,a+b,a))
, because of maxint. If we replace ╗1⌠F$╜@c⌡╓i;F
╗ save input in register 0
1⌠F$╜@c⌡╓ smallest non-negative integer n where the following function returns truthy:
F$ nth Fibonacci number, stringified
╜@c count occurrences of input
i;F flatten the list, duplicate the index, and push the Fibonacci number at that index
и ╗1⌠F$╜@c⌡╓i;F
for bigints, this works for higher inputs (current testing is at (T=ToString;If[(h=#)==0,"0:0",a=#&@@Select[k=T/@(Array[Fibonacci,9#]),StringContainsQ[#,T@h]&];Min@Position[k,a]":"a])&
)
{⍺←0⋄∨/(⍕⍵)⍷⍕x←1∧+∘÷/0,⍺/1:⍺,x⋄(1+⍺)∇⍵}
||answer||
JavaScript ES6, 79 78 75 байт
-1 байт по Степ Хен
-3 байта Нил
????????????a 0???b 1???i 0???☁️э?????a 10??????10??????b➕a b???a➖b a???i➕1i?????????i 10??????a 10???
||answer||
f=lambda n,l=[1,0]:str(n)in str(l[1])and(len(l)-2,l[1])or f(n,[l[0]+l[1]]+l)
Попробуйте онлайн!
Принимает входные данные как целое число и возвращает строку с выходными данными.