//方法一 public class DiGui { public static void main(String[] args) { int num = getNum(20); System.out.println(num); } //观察如下数列找规律: 1 1 2 3 5 8 13 .... 求第20个数是多少? private static int getNum(int i) { if (i == 1) { return 1; } else if (i == 2) { return 1; } else { return getNum(i-1)+ getNum(i-2); } } 方法二:
public class DiGui2 { public static void main(String[] args) { /* 第二题: 观察如下数列找规律: 1 1 2 3 5 8 13 .... 求第20个数是多少? */ List<Integer> list = new ArrayList<>(); list.add(1); list.add(1); for (int i = 2; i < 20; i++) { list.add(list.get(i - 1) + list.get(i - 2)); } System.out.println(list.get(19)); } }