关于斐波那契数列的一些问题!!(Pascal语言)

来源:百度知道 编辑:UC知道 时间:2024/05/29 14:26:51
最好可以求出前10000项!!谢谢(5000项也行)!

var a,b,t:double; n,i:integer;
begin
a:=1; b:=1;
write(1,' ',1,' ');
n:=5000;
for i:=3to n do
begin
t:=b;
b:=b+a;
a:=t;
write(trunc(b),' ')
end;
end.

10000项也多得离谱了吧
我用double最多只能输出前92项
10000或者5000项的话都很可能会超出500位高精度字符串的范围,你要那么多干什么
一定要的话你就自己加编译器开关吧

program f(input,output);
var
a:array[1..5000] of string;
i:integer;

begin
a[1]:=1;
a[2]:=1;
for i:= 3 to 5000 do
a[i]:=a[i-1]+a[i-2];
for i := 1 to 5000 do
writeln(a[i]);
end.

即斐波那契数列,“斐波那契数列”的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci,生于公元1170年,卒于1240年。籍贯大概是比萨)。他被人称作“比萨的列昂纳多”。1202年,他撰写了《珠算原理》(Liber Abaci)一书。他是第一个研究了印度和阿拉伯数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个阿拉伯老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。
斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21……
这个数列从第三项开始,每一项都等于前两项之和。它的通项公式为:(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
很有趣的是: