5、跳台阶问题
【问题描述】一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度,例如
n 为1 时只有一种跳法
n 为2 时只有两种跳法
【输入形式】输入一个整数n
【输出形式】n级的跳法数,整数m
【样例输入】
6
【样例输出】
13
【样例说明】
输入与输出均为整数
import java.util.Scanner;
public class Main {
public static int jumpFloor(int target) {
if (target == 1) {
return 1;
} else if (target == 2) {
return 2;
} else {
int sum=jumpFloor(target-1)+jumpFloor(target-2);
return sum;
}
}
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int target= scan.nextInt();
System.out.println(jumpFloor(target));
}
}
(4)第四道题的算法思路和结果
1)算法思路(可用流程图和自然语言描述,建议使用流程图规范表述,如果使用自然语言要求简洁无歧义)
这道题最简单的就是用递归方法了吧,简单容易理解。因为f(1)=1;