遞歸----小白上樓梯
阿新 • • 發佈:2019-01-13
倒數 sys ava ati 題目 一次 一個 思路 clas
題目:小白正在上樓梯,樓梯有n階臺階,小白一次可以上1階,2階或者3階,實現一個方法,計算小白有多少種走完樓梯的方式。
思路:這種題目一般從最後結果入手,逆推,假如小白已經在最頂端,那麽有f(n)種方式走完所有樓梯,有f(n-1)種方式走完倒數第一個樓梯,有f(n-2)種方式走完倒數第二個樓梯,有f(n-3)種方式走完倒數第三個樓梯。那麽遞推公式為f(n)=f(n-1)+f(n-2)+f(n-3)。
代碼:
import java.util.Scanner; public class 小白上樓梯 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int res = f(n); System.out.println(res); } private static int f(int n) { if (n==0) return 1; if (n==1) return 1; if (n==2) return 2; return f(n-1)+f(n-2)+f(n-3); } }
遞歸----小白上樓梯