JAVA,如何利用递归方法计算

JAVA中如何利用递归方法求s=1+3+5+7+9+11+13+15的值,需要清晰的代码


  public static int sumNum(int num){
    return num == 1 ? 1 : num + sumNum(num -= 2);
  }

引用 皆我百晓生 小程序回复内容作答:

img

下面是使用递归方法计算s的Java代码:

public class Main {

    public static void main(String[] args) {
        int n = 8; // 求s的前n项和
        int s = calculateSum(n);
        System.out.println("s = " + s);
    }
    
    public static int calculateSum(int n) {
        if (n == 1) {
            return 1;
        } else {
            return 2*n - 1 + calculateSum(n - 1);
        }
    }
}

运行输出:

s = 64

此代码定义了一个calculateSum的递归方法,它接受一个整数n作为参数,并返回前n项的和。在递归的过程中,每次递归将n减1,并计算当前项的值2n-1,然后将其与前n-1项的和相加。当递归到n=1时,直接返回1作为最后一项的值。最终得到的s即为1+3+5+7+9+11+13+15的和。