JSFiddle - React, Tailwind, and code Playground

by tabalinas

JavaScript

var resultWasFound = false;

var pickUpValue = function(currentIndex, firstIndex){
    var currentValue = ARR[currentIndex];
    var currentSumm = currentValue;
    firstIndex = firstIndex || 0;
    var i=firstIndex;    
    var tempArray = [];    
    for(; i<halfLength -2 + firstIndex; i++){        
        currentSumm += ARR[i];
        tempArray.push(ARR[i]);
    }        
    if(currentSumm === lastSumm){                
        tempArray.push(currentValue); tempArray.push(maxItem);
        alert(tempArray.toString());
        resultWasFound = true;
    } else if(currentSumm < lastSumm){
        pickUpValue(currentIndex, firstIndex + 1);
    } else {
        //ничего не делать
    }
}

var ARR = [1,1,102,102,103,103,104,104];

var length = ARR.length;

var summ = 0,
    i=0;
for(;i<length;i++){
    summ += ARR[i];
}

var halfSumm = summ / 2;
var halfLength = length / 2;
var maxItem = ARR[length -1];

var lastSumm = halfSumm - maxItem;

for(i = length-2; i > halfLength - 3; i--){
    pickUpValue(i);
} 

if(!resultWasFound)
    alert("Error");