汉诺塔
/**
* 从pos1位置 挪到 pos2位置
* @param pos1
* @param pos2
*/
public static void move(char pos1, char pos2) {
System.out.print(pos1 +"->"+ pos2 +" ");
}
/**
* @param n 盘子的个数
* @param pos1 起始位置
* @param pos2 中途位置
* @param pos3 目的地位置
*/
public static void hanoi(int n, char pos1, char pos2, char pos3) {
if (n == 1) {
move(pos1,pos3);
}else {
hanoi(n-1,pos1,pos3,pos2);
move(pos1,pos3);
hanoi(n-1,pos2,pos1,pos3);
}
}
public static void main(String[] args) {
hanoi(3,'A','B','C');
}
青蛙跳台阶
public static int numWays(int n) {
if (n == 1 ) {
return 1;
}else if (n == 2) {
return 2;
}
return numWays(n-1) + numWays(n-2);
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println(numWays(num));
}