アルゴリズム-階段を登る(再帰)
734 ワード
package MOOC;
import java.util.Scanner;
/**
:
, 1 2 , ,
:
3
:
3
:
5
:
8
* @author Vivinia
*
* 2018 2 11
*/
public class ToValue {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();
input.close();
System.out.println(stairs(n));
}
private static int stairs(int n) {
if(n==1)
return 1; // ,
else if(n==2)
return 2; // ,
else
return stairs(n-1)+stairs(n-2); //n = ,n-1 + ,n-2 f(n)=f(n-1)+f(n-2)
}
}
1.再帰式を理解する:n段階段の歩き方=先に1段行った後、n-1段階段の歩き方+先に2段行った後、n-2段階段の歩き方f(n)=f(n-1)+f(n-2);
2.境界条件に注意し、nは1と2に等しく、最も直感的に理解しやすい.