# Get the index of the first Fibonacci number that contains 1000 digits def dumbfib(n): if n < 3: return 1 else: return dumbfib(n - 2) + dumbfib(n - 1) def fib(n): if n < 3: return 1 else: i = 2 res = [1, 1] while i < n: i += 1 res.append(res[-1] + res[-2]) return res[-1] def getLargeFib(x): if x < 2: return 1 fibs = [1, 1] while fibs[-1] < x: fibs.append(fibs[-1] + fibs[-2]) return len(fibs) def main(): print("Hello, this is Patrick") # print(dumbfib(10)) # print(fib(10000)) r = getLargeFib(pow(10, 999)) print(r) if __name__ == "__main__": main()