/**
*
*/
package ch06;
import org.junit.Test;
/**
* @author lixin
* @date 2018年7月23日
* @Description 递归
*/
public class Recursion {
// 三角数的实现
public static int getNumber1(int n) {
int total = 0;
while (n > 0) {
total = total + n;
n--;
}
return total;
}
// 递归实现三角数
public static int getNumber2(int n) {
if (n == 1) {
return 1;
} else {
return n + getNumber2(n - 1);
}
}
// 递归计算Fibonacci序列
public static int getNumber3(int n) {
if (n == 1) {
return 0;
} else if (n == 2) {
return 1;
} else {
return getNumber3(n - 1) + getNumber3(n - 2);
}
}
@Test
public void test1() {
System.out.println(Recursion.getNumber1(4));
System.out.println(Recursion.getNumber2(4));
System.out.println(Recursion.getNumber3(4));
}
}