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");