題目要求
分析
記得講過的跳臺階問題嗎?那個題限制一個或兩個臺階,故可以使用遞推式求解,那這個題個臺階其實也是類似的。
到達某一個臺階的所有可能是到達其下個臺階的所有可能總和,所以遞推式是:
也就是:
注意:對100003取模。
AC代碼(Java語言描述)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(), k = scanner.nextInt();
scanner.close();
int[] nums = new int[n+1];
nums[0] = 1;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= k && i-j >= 0; j++) {
nums[i] += nums[i-j];
nums[i] %= 100003;
}
}
System.out.println(nums[n]);
}
}