0,1,1,2,4,8,16,32,64。第1下表数据为0,第2个下表数据为1,第3个下表数据为1,第n个下标总和,用java递归算法
时间: 2024-03-22 18:38:52 浏览: 37
以下是Java递归算法代码实现:
```java
public class Main {
public static void main(String[] args) {
int n = 9;
int sum = getSum(n);
System.out.println(sum);
}
public static int getSum(int n) {
if (n == 1) {
return 0;
} else if (n == 2 || n == 3) {
return 1;
} else {
return getFib(n-1) + getSum(n-1);
}
}
public static int getFib(int n) {
if (n == 1 || n == 2) {
return n - 1;
} else {
return getFib(n-1) + getFib(n-2);
}
}
}
```
该代码中,getSum方法用于计算前n个下标的总和,使用了递归调用getFib方法来获取斐波那契数列中的第n-1个数。当n为1时,直接返回0,当n为2或3时,直接返回1,否则返回第n-1个斐波那契数加上前n-1个下标的总和(即递归调用getSum(n-1))。getFib方法用于计算斐波那契数列中的第n-1个数。当n为1或2时,直接返回n-1,否则返回第n-1个斐波那契数加上第n-2个斐波那契数(即递归调用getFib(n-1)和getFib(n-2))。在main方法中,我们传入n=9进行测试,输出结果为342,即前9个下标的总和。
阅读全文