pascal 编程 循环语句

来源:百度知道 编辑:UC知道 时间:2024/09/21 03:29:58
楼梯有10阶台阶,上楼可以一步上1阶,也可以一步上2阶,也可以一步上3阶,编一程序计算共有多少种不同的走法?
听说好像和兔子繁殖问题一样
不过看不出来一样啊!!

program a4;
var
a:array[1..10] of integer;
i,j,k:integer;
begin
a[1]:=1;
a[2]:=2;
a[3]:=4;
for i:=4 to 10 do
a[i]:=a[i-1]+a[i-2]+a[i-3];
write(a[10]);
end.

兔子繁殖:
program rabbit;
var
a,b,c:array[1..100]of integer;
i,j,k,t,n:integer;
begin
read(n);
for i:=1 to 100 do
begin
a[i]:=0;b[i]:=0
end;
a[1]:=1;b[1]:=2;
if n=1 then write(a[1])
else
if n=2 then write(a[1])
else
if n=3 then write(b[2])
else
begin
for i:=1 to n-3 do
begin
for j:=1 to 100 do
begin
if (a[j]>0)or(b[j]>0) then c[j]:=a[j]+b[j];
end;
for k:=1 to 100 do
if c[k]>9 then begin
c[k+1]:=c[k] div 10+c[k+1];
c[k]:=c[k] mod 10;
end;
for t:=1 to 100 do
begin
a