


import numpy as npdef fibonacci_matrix(n):if n < 0:raise ValueError("斐波那契数的索引不能为负数")if n == 0:return 0if n == 1:return 1# 定义基本斐波那契矩阵base_matrix = np.array([[1, 1], [1, 0]], dtype=object)# 计算矩阵的 n-1 次幂result_matrix = np.linalg.matrix_power(base_matrix, n-1)# 提取第 n 个斐波那契数return result_matrix[0, 0]# 测试代码if __name__ == "__main__":max_n = 15for i in range(max_n):print(f"F({i}) = {fibonacci_matrix(i)}")
细数那些经典教材(编程、数据结构与算法相关)
推荐文章