递归算法:方法自身再次调用自身的过程。
如:1 、1 、2、3、5、8、13、21 34 55….
从第二数开始,每位上的值是前两个数的和。求第10个数是多少
- 递归算法:自己调用自己
- 迭代算法:通过中间变量。不断交换获得值。
public class Test{
public static void main(String[] args){
System.out.println(diGui(10));
System.out.println(dieDai(5));
}
public static int diGui(int i){
if(i <= 2){
return 1;
}
//当 i 大于 2 的时候
return diGui(i - 2) + digui(i - 1);
}
public static int dieDai(int i){
int x1 = 1;//倒数第二位
int x2 = 1;//倒数第一位
int temp = 0;//存储结果
if(i < = 2){
return 1;
}
// i > 2 的情况
for(int j = 2;j < i; j++){
temp = x1 + x2;
x1 = x2;
x2 = temp;
}
return temp;
}
}