CMU Coding Bootcamp
at main 608 B view raw
1from math import sqrt 2 3 4def almostEqual(x: float, y: float) -> bool: 5 return abs(x - y) < 10**-9 6 7 8def nthFibonacciNumber(n: int) -> float: 9 """Return the nth Fibonacci number.""" 10 n += 1 11 return ((1 + sqrt(5)) ** n - (1 - sqrt(5)) ** n) / (sqrt(5) * 2**n) 12 13 14print("Testing nthFibonacciNumber()...", end="") 15assert almostEqual(nthFibonacciNumber(0), 1) 16assert almostEqual(nthFibonacciNumber(1), 1) 17assert almostEqual(nthFibonacciNumber(2), 2) 18assert almostEqual(nthFibonacciNumber(3), 3) 19assert almostEqual(nthFibonacciNumber(4), 5) 20assert almostEqual(nthFibonacciNumber(5), 8) 21 22print("Passed!")