Это решение предусматривает вывод списка комбинаций в консоль, бо при попытке выводить такое количество вариантов на странице, она просто виснет. Ведь речь тут идёт о том, что если в массиве 26 элементов, то приходится перебирать количество вариантов, равное 2 в степени 26, что приблизительно 65 миллионов. А это вовсе не шутка.
const arr = [1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 11, 13, 31, 31, 44, 51, 81, 65, 63];
const target = prompt("enter number", "52");
console.log('Список всех вариантов комбинаций:');
for(a = 0; a < 2 ** arr.length; a ++){
let sum = 0;
let result = '';
let b = a;
let r = 0;
while(r < arr.length){
let c = b;
b = Math.floor(b / 2);
if(b * 2 != c){
sum += arr[r];
result += ' + ' + arr[r];
}
r ++;
}
if(sum == target) console.log(result.substring(3));
}