回 帖 发 新 帖 刷新版面

主题:帮忙加分

[em18][em18]解一个noip2006小学生竞赛的问题:
走楼梯:有n节楼梯,每次可以走1节楼梯、2节楼梯、3节楼梯。问共有几种走法???
谢了,找一下规律~~~……

回复列表 (共3个回复)

沙发

搜索就可以了

板凳

搜索??? -_-b!
program lx;
var
  a,b,c,d:longint;
  n.i:integer;
begin
  readln(n)
  a:=1;  {1阶的走法}
  b:=2;  {2阶的走法}
  c:=4;  {3阶的走法}
  if n=1 then writeln('1');
  if n=2 then writeln('2');
  if n=3 then writeln('4');
  if n>=4 then begin
    for i:=1 to n-3 do begin
      d:=a+b+c;    {递推}
      a:=b;
      b:=c;
      c:=d;
    end;
    writeln(d);
  end;
end.
我没调试过, 你自己调试一下吧.

3 楼

很好!!!!!!但怎么能把每一次走的阶梯打印下来.?N=3 则111'12'21'3'还要请教...

我来回复

您尚未登录,请登录后再回复。点此登录或注册