Division and Conquer Algorithm

0

I'm having trouble getting an algorithm to divide and sum the elements of an array.

public static int somatorio(int[] a, int numElem) {
    if(numElem == 0) {
       return 0;
    }else if(numElem == 1){
       return a[0];
    }

    int meio = numElem/2;
    int dTamanho = numElem - meio; //tamanho lado direito
    int eSoma = somatorio(a, meio); //soma lado esquerdo
    int dSoma = somatorio(a, dTamanho); //soma lado direito

    return eSoma + dSoma;
}

I can not recursively sum this amount, how can I get my code sorted?

    
asked by anonymous 14.10.2018 / 00:59

1 answer

1
  

UPDATE: I solved my problem, if someone is also in doubt I will leave my code

public static int somatorio(int[] a, int inicio. int fim) {
     if(inicio == fim) {
        return a[inicio];
     }else
        if(inicio == fim-1) {
           return a[inicio] + a[fim];
        }else {
           int meio = (fim + inicio)/2;
           int eSoma = somatorio(a, inicio, meio); //soma lado esquerdo
           int dSoma = somatorio(a, meio+1, fim); //soma lado direito

           return eSoma + dSoma;
        }
}
    
14.10.2018 / 21:30