N
Size: a a a
N
T
🎄T
N
T
🎄T
T
🎄T
T
🎄T
T
S
def fib(n):
fi = (1+sqrt(5))/2
return int((fi**n-(-fi)**-n)//(2*fi-1))
🎄T
def fib(n):
fi = (1+sqrt(5))/2
return int((fi**n-(-fi)**-n)//(2*fi-1))
S
OverflowError: (34, 'Result too large’)
🎄T
OverflowError: (34, 'Result too large’)
SH
OverflowError: (34, 'Result too large’)
S
🎄T
def fib(n):
if n < 0:
raise ValueError(f"n should be positive or zero, passed: {n}")
elif not isinstance(n, int):
raise ValueError("n should be integer")
elif n < 2:
return n
fib_a, fib_b = 0, 1
for _ in range(n - 1):
fib_a, fib_b = fib_b, fib_a + fib_b
return fib_b
N