iopcc/iopcc_2023/fibonacci.py

43 lines
1.5 KiB
Python

x,y=[6 ,11]\
,[ 48,67 ];s\
=[ x for x \
in vars ( )]\
;b= vars( )[s[ x[
0]]] ;k= list( (b.
__dict__ .keys (
) )) ;g= getattr(b
,k[x[1]*2]);m=g(
b,k[y[1]+1]);l=g\
(b ,k
[x [1
]* 3] ); i=\
g( b, k[ x[
1] *6]);p =g\
(b ,k[y[0 ]-
x[0]]) ;a=g(g(b,k
[x[0]] )("".join(
m( g(b,k[ x[
0] //2+x[ 1]
]) ,(m( g(
b, k[y[ 0]
-1 ]) ,g(b,k[x [1]+
y[ 1] +1])([*[ g(b,
k[ y[0]-1]) (y)] *3
], [0,x[0], 0])) ))
)) ,"". join(m(g(b
,k [x[0 ]//2+x[1]]
), (m (g
(b ,k [y
[0 ]- 1]
), g( b,
k[x[1] +y[1 ]+1]
)([*[g (b,k [y[0
]- 1])( y) ]*4],[x[0]*- 3,-1
,x [0]* -2 ,x[0]//2]))) )));
p(i((1/5**.5)*(((1+5**.5)/2)**(i(a[1])+1)-((1
-5**.5)/2)**(i(a[1])+1)))) if l(a)>1 else p(1)
# Rabbits are great to compute fibonnacci numbers
# ASCII art freely inspired from Row - https://www.asciiart.eu/animals/rabbits
# (c) 2023 Mindiell