首页 > 学院 > 开发设计 > 正文

P1255 数楼梯

2019-11-10 21:23:09
字体:
来源:转载
供稿:网友

题目描述

有N阶楼梯,上楼梯是每次可以走一步或者走两步,问共有多少种走法。

样例输入

4

样例输出

5

思路

分析前几步发现是斐波那契数列第n+1位,由于数据太大要用高精加。var a,b,c:array[1..5000] of longint; n,l:longint;PRocedure gjj;var i:longint;begin fillchar(c,sizeof(c),0); for i:=1 to l do begin c[i]:=c[i]+a[i]+b[i]; if c[i]>=10 then begin c[i]:=c[i]-10; inc(c[i+1]); end; end; if c[l+1]<>0 then inc(l);end;var i:longint;begin readln(n); if n=0 then begin writeln(0);exit;end; if n=1 then begin writeln(1);exit;end; if n=2 then begin writeln(2);exit;end; a[1]:=1; b[1]:=2; l:=1; for i:=1 to n-2 do begin gjj; a:=b; b:=c; end; for i:=l downto 1 do write(c[i]);end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表