题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 FrogJumping 青蛙跳台阶
package com.diyo.offer;
import java.util.Scanner;
/**
* 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 FrogJumping 青蛙跳台阶
*/
public class FrogJumping {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入青蛙跳多少级台阶:");
int n = scanner.nextInt();
System.out.println(jumpingNum(n));
scanner.close();
}
/**
* 青蛙跳上一个n级的台阶总共有多少种跳法
* @param n 跳n级台阶
* @return 返回跳发种数,若返回-1代表出错
*/
public static int jumpingNum(int n) {
if (n == 1) { //如果跳1级台阶1种跳法
return 1;
} else if (n == 2) { //如果跳1级台阶1种跳法
return 2;
} else if (n > 2) {
return jumpingNum(n - 1) + jumpingNum(n - 2);
} else {
return -1;
}
}
}