演算法設計與分析02-走臺階問題
阿新 • • 發佈:2018-11-09
走臺階問題,一次可以走1,2,3級,都 N級臺階的方法數 。
初始:f(0) = 0; f(1) =1; f(2) = 1 + 1 = 2;
遞推公式:f(n) = f(n - 1) + f(n-2) + f(n - 3)
解題思路:
因為一次可以走1,2,3級,所以在第n級臺階時,能走到第n級臺階的方法為:1,從第n-1級臺階走一級到底n級臺階。2.從第n-2級臺階走2級到第n級。3.從第n-3級臺階到第n級臺階,所以:f(n) = f(n - 1) + f(n-2) + f(n - 3)
程式碼如下(java):
public class JumpFloor {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(getSum(sc.nextInt()));
}
private static int getSum(int n) {
if (n == 0) {
return 0;
}
if (n == 1) {
return 1;
}
if (n == 2) {
return 2;
}
return getSum(n - 1) + getSum(n - 2) + getSum(n - 3);
}
}