沭阳中心医院招聘简章:菲波拉契数列的编程实现方法

来源:百度文库 编辑:高校问答 时间:2024/05/05 09:52:38
考试时有一题,说是试用任何一种语言来实现打印(每行5个)前100个菲波拉契数列值,没做出来,各位高手出出主意吧。
补充:我找到了它的关系式:fn+1×fn-1-fn2=(-1)n
菲波拉契数列是指数值呈以下规律分布:1,1,2,3,5,8,13,21.......

C语言

#include <stdio.h>

void main()
{
int a[101],i;
a[1]=a[2]=1;
for (i=3;i<101;i++)
{
a[i]=a[i-1]+a[i-2];
}
for (i=1;i<101;i++)
{
printf ("%-8d",a[i]);
if (i%5==0) printf ("\n");
}
}

PASCAL

var i:integer;
f:array[0..100] of integer;
begin
f[1]:=1;
f[2]:=1;
for i:=3 to 12 do
begin
f[i]:=f[i-1]+f[i-2];
end;
for i:= 3 to 12 do
write(f[i]);
end.

给一个不用数组的做法(delphi)

var
V1,V2,Res:Double;
i:integer;
begin
V1:=1;V2:=1;
writeln(v1);writeln(v2);
for i:=1 to 100 do
begin
Res:=v1+V2;
writeln(res);
v1:=v2;v2:=res;
end;
end;

以下是VB实现
dim a1 as integer
dim a2 as integer
dim a3 as integer
dim n as integer
dim i as integer

n=20
a1=1
a2=1
print a1
print a2
for i=1 to 20
a3=a1+a2
print a3
a1=a2
a2=a3
next

N代表输出的大致数字个数(输入20,实际输出22个)