from math import sqrt def almostEqual(x: float, y: float) -> bool: return abs(x - y) < 10**-9 def nthFibonacciNumber(n: int) -> float: """Return the nth Fibonacci number.""" n += 1 return ((1 + sqrt(5)) ** n - (1 - sqrt(5)) ** n) / (sqrt(5) * 2**n) print("Testing nthFibonacciNumber()...", end="") assert almostEqual(nthFibonacciNumber(0), 1) assert almostEqual(nthFibonacciNumber(1), 1) assert almostEqual(nthFibonacciNumber(2), 2) assert almostEqual(nthFibonacciNumber(3), 3) assert almostEqual(nthFibonacciNumber(4), 5) assert almostEqual(nthFibonacciNumber(5), 8) print("Passed!")