pascal语言中关于while的问题(急)

来源:百度知道 编辑:UC知道 时间:2024/06/15 03:34:22
2、输入任一的自然数A, B, 求A , B的最小公倍数。
3、Faibonacci数列前几项为: 0,1,1,2,3,5,8,…,其规律是从第三项起, 每项均等于前两项之和。求前
30项,并以每行5个数的格式输出。
4、小球从100高处自由落下,着地后又弹回高度的一半再落下。求第20次着地时, 小球共通过多少路程?
5、鸡兔同笼,头30,脚90, 求鸡兔各几只?
用WHILE语句

第二题
var a,b,i,j:longint;
begin
read(a,b);
i:=2;
j:=1;
while (a>i)and(b>i) do
if (a mod i=0)and(b mod i=0)then
begin
a:=a div i;
b:=b div i;
j:=j*i;
end
else
inc(i);
write(j);
end.

第三题:
var
a:array[1..3]of longint;
j:longint;
begin
a[1]:=0;
a[2]:=1;
write(a[1],' ',a[2]);
for j:=1 to 17 do
begin
a[3]:=a[1]+a[2];
a[1]:=a[2];
a[2]:=a[3];
if j mod 5=0 then writeln;
write(a[3],' ');
end;
end.

第四题:
var a:integer;b,c:real;
begin
b:=100;
c:=100;
a:=1;
while a<20 do
begin
inc(a);
b:=b/2;
c:=c+b;
end;
write(c);
end.

第五题:
var j,tu,ji:integer;
b:boolean;
begin
b:=true;
ji:=30;
while b do
begin
inc(tu);
dec(ji);
if tu*4+ji*2=90 then b:=false;
end;
write('