文件名称:fib:使用任意大的整数记录第n n个斐波那契数
文件大小:103KB
文件格式:ZIP
更新时间:2024-03-24 07:56:28
C
当我尝试编写log(n)fibonacci函数而不实现矩阵和矢量数据类型时,设计就开始了。 我不会说我在那里成功。 该代码基本上仍然执行矩阵乘法,并且几乎是不可读的。 就是说,我编写了一个用于处理大数的文件,它可以非常快地为非常大的值计算斐波那契数。 在我的计算机上,找到百万分之一的斐波那契数大约需要8秒钟。 在数学上,第n个斐波那契数有一个公式。 我已经看到该实现称为O(1)。 但是,这依赖于浮点数并执行诸如浮点取幂之类的操作,因此我不确定它的速度或精度或O(1)是多少。 如果没有溢出,此程序将给出确切的答案-如果看起来有答案,您可以调整答案的大小。 还要注意,您可以更快,更轻松地找到前n个斐波那契数。 该程序的新颖之处在于,它仅使用整数加法和乘法运算就不会计算所有先前的斐波那契数以找到第n个。 注释/伪代码 对于矩阵,这是一个问题:给定矩阵M,整数k和向量I,找到M ^ k I
【文件预览】:
fib-main
----fib.c(692B)
----main.c(544B)
----fib.h(113B)
----big_number.c(2KB)
----out.txt(170KB)
----big_number.h(580B)
----Makefile(453B)
----README.md(3KB)
----long_fib.h(217B)
----long_fib.c(2KB)