台阶问题

题意
有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。


分析
递推公式a[i]:=a[i]+a[i-j];




var
n,k,i,j:longint;
a:array[-1000..100000]of longint;
begin
    read(n,k);
    a[0]:=1;
    for i:=1 to n do
    for j:=1 to k do
    a[i]:=(a[i]+a[i-j]) mod 100003;
    write(a[n]);
end.
posted @ 2017-02-04 16:15  银叶草  阅读(141)  评论(0编辑  收藏  举报
Live2D