题目:
题目描述
有N级的台阶,你一开始在底部,每次可以向上迈最多K级台阶(最少1级),问到达第N级台阶有多少种不同方式。
输入输出格式
输入格式:
输入文件的仅包含两个正整数N,K。
输出格式:
输入文件stair.out仅包括1个正整数,为不同方式数,由于答案可能很大,你需要输出mod 100003后的结果。
作者思路:递归,公式是:a[i]=a[i]+a[i-j];
代码:
var i,j,n,k,b:longint;
a:array[-101..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.