一道pascal题目

2.Faibonacci数列前几项为:0,1,1,2,3,5,8,…,其规律是从第三项起,每项均等于前两项之和。求前30项,并以每行5个数的格式输出。最好用while循环... 2. Faibonacci数列前几项为: 0,1,1,2,3,5,8,…,其规律是从第三项起, 每项均等于前两项之和。求前30项, 并以每行5个数的格式输出。

最好用while循环来实现
谢谢!
展开
 我来答
lwztzflyb
2010-07-25
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
program d55;
var
a,b,c,i,n:longint;
begin
readln(n);
a:=1;
b:=1;
for i:=3 to n do
begin
c:=a+b;
a:=b;
b:=c;
end;
if (n=1) or (n=2) then c:=1;
writeln(c);
end.
知道梦者
2010-07-23 · TA获得超过418个赞
知道小有建树答主
回答量:816
采纳率:0%
帮助的人:562万
展开全部
1) 定义变量并初始化 i=0,j=1

2)定义一个数组存放 a[],并将数组的前两项赋值为 0,1

3)循环给数组赋值 定义变量k=2 循环28次即条件为 k<30

4)在循环内 a[k]=i+j; i=j; j=a[k]; k++;

5) 循环输出数组内容即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友da3846e
2010-07-23 · TA获得超过691个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:441万
展开全部
program fb;
var i,j,k:longint;
a:array [0..31] of longint;
begin
i:=3;
j:=4;
a[1]:=0;
a[2]:=1;
write(a[1],' ',a[2],' ');
while i<>31 do
begin
a[i]:=a[i-1]+a[i-2];
if j>5 then
begin
writeln(a[i],' ');
j:=1;
end
else write(a[i],' ');
inc(i);
inc(j);
end;
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
736551725
2010-07-23 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:33.8万
展开全部
咳咳。。。
首先声明一下啊,斐波那契数列,第一项是1啊,不是0.。。
这个题可以多种方式实现,比如:递推,递归。。。
如果非要用while 循环实现,也不是不行,只是有点不好看。
我写给你嘛。
program faibonacc;
var f:array[1..30] of longint;
i,t:longint;
begin
fillchar(f,sizeof(f),0); //初始化
f[1]:=1; f[2]:=1;
t:=3;
while t<=30 do begin
f[t]:=f[t-1]+f[t-2];
t:=t+1;
end;

for i:=1 to 30 do begin
write(f[i]:3:0);
if i mod 5 =0 then writeln; //i如果是5的倍数,就跳行
end;
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ilxyil
2010-07-23 · TA获得超过124个赞
知道答主
回答量:63
采纳率:0%
帮助的人:47.7万
展开全部
program long;
var
i,j,k,l,m,n:longint;
begin
readln(i);
j:=0;k:=1;
write(k,' ');
while l<>50 do
begin
l:=l+1;
m:=j+k;
write(m,' ');
j:=k;k:=m;
if l mod 5=0 then writeln;
end;
end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5da619f
2010-07-24 · TA获得超过279个赞
知道小有建树答主
回答量:439
采纳率:0%
帮助的人:260万
展开全部

var

  a:array[1..100] of integer;

  i,j:integer;

begin

  a[1]:=0;

  a[2]:=1;

  i:=2;

  while i<=30 do

    begin

      inc(i);

      a[i]:=a[i-1]+a[i,2]

    end;

  for j:=1 to 30 do begin

    write(a[j],' ');

    if j mod 5=0 then writeln

  end;

end.

这个有个奇怪的问题

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式