-
var a,b,t:double; n,i:integer;
begina:=1; b:=1;
write(1,' ',1,' ');
n:=5000;
for i:=3to n do
begint:=b;
b:=b+a;
a:=t;write(trunc(b),' ')end;end.
10,000 高得离谱。
我只能输出前 92 个项目,最多加倍加倍。
10,000 或 5,000 个条目可能会超出 500 个高精度字符串的范围,那么您要做什么?
如果有必要,可以自行添加编译器开关。
-
斐波那契数列,也称为分裂数列,指的是这样的数字序列、...在数学上,斐波那契数列递归定义如下:f(0)=0, f(1)=1, f(n)=f(n-1)+f(n-2)(n 2,n n*) 在现代物理学、准晶结构、化学等领域,斐波那契数列有直接的应用,为此,美国数学会从2024年开始出版了一本名为《斐波那契季刊》的数学期刊,发表该领域的研究成果。
我们以求解f(10)为例,分析了递归求解的过程。 F(10) 是必需的,f(9) 和 f(8) 是必需的。 同理,要得到 f(9),我们必须首先得到 ......f(8) 和 f(7)。我们使用树结构来表示这种依赖关系。
此树中有许多节点将被重复,并且重复节点的数量将随着 n 的增加而急剧增加。 这意味着计算量随着 n 的增加而急剧增加。 实际上,递归方法计算的时间复杂度呈指数增长 n,时间复杂度近似等于 o(2 n)。
空间复杂度分析。
在方法1的基础上进行了改进。
事实上,改进的方法并不复杂。 上述方法之所以慢,是因为重复计算太多,只要避免重复计算即可。 例如,我们可以保存我们得到的序列的中项,如果下次需要计算,我们会先查找,如果之前已经计算过,就不需要再次计算。
算法步骤如下。
乍一看,o(1) 近似等于 o(1)。
这是我迄今为止见过的最作弊的方法,但前提是您首先知道如何使用公式。
时间复杂度是o(logn),所以我问你是否作弊。 在介绍这个方法之前,我们先介绍一个数学公式: