描述1: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 描述2: 大家都知道斐波那契数列 (1,1,2,3,5,8,13,21,,,,,,),现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)
public class Fibonacci {
public static void main(String[] args) {
int a = 8;
int b = fibonacci2(a);
System.out.print(b);
}
/**
* 递归法:重复计算,容易超时
* */
public static int fibonacci(int n) {
if(n==1){
return 1;
}
if(n==2){
return 1;
}
return fibonacci(n - 1) + fibonacci(n-2);
}
/**
* 迭代法
* */
public static int fibonacci2(int n) {
if(n<=1){
return n;
}
int result=0,a=0,b=1;
for(int i=2;i<=n;i++){
result=a+b;
a=b;
b=result;
}
return result;
}
}