可以使用递归来实现数组中 N 个整数相加的功能,代码如下:

public class ArrayAddition {
    public static void main(String[] args) {
        int[] array = {1, 4, 1048576, 16, 32, 64, 128, 8192, 2097152, 16777216};
        int n = 5; // 假设 n 为 5
        int sum = arrayAddition(array, n);
        System.out.println('数组中' + n + '个整数相加的结果为:' + sum);
    }

    // 递归函数
    public static int arrayAddition(int[] array, int n) {
        if (n == 1) { // 如果 n 为 1,则返回数组中的一个数
            return array[0];
        } else { // 否则,将数组分为两部分
            int[] subArray1 = new int[n/2];
            int[] subArray2 = new int[n - n/2];
            // 将前一部分复制到 subArray1 中
            System.arraycopy(array, 0, subArray1, 0, n/2);
            // 将后一部分复制到 subArray2 中
            System.arraycopy(array, n/2, subArray2, 0, n - n/2);
            // 分别计算两部分的和
            int sum1 = arrayAddition(subArray1, n/2);
            int sum2 = arrayAddition(subArray2, n - n/2);
            // 返回两部分的和
            return sum1 + sum2;
        }
    }
}

在本例中,假设 n 为 5,则将数组分为两部分:{1, 4, 1048576} 和 {16, 32, 64, 128, 8192, 2097152, 16777216}。分别计算两部分的和,最后将它们相加得到最终结果。

Java 递归算法实现数组中 N 个整数相加 - 示例代码

原文地址: https://www.cveoy.top/t/topic/nmMV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录