JSFiddle - React, Tailwind, and code Playground

by batya15

HTML

</--
chrome  
    [0, 10, 25, 51]
    batya - bad: 83 time: 1 
    Alex  - bad: 83 time: 6 

    [0, 10, 25, 51, 102, 204, 1024]
    batya - bad: 820657 time: 329
    Alex  - bad: 820657 time: 3219 

В FF Разница в ~ 4 раза, в EI9 ~ 3.5
--/>

JavaScript

function problemVlad(points, maxPoint) {
    var capacity = points.length,
        count = Math.pow(capacity, capacity),
        bad = 0,
        zerosArr = [],
        temp = "",
        sumNum;
    
    for (var i = 0; i < capacity; i++) {
        zerosArr.unshift(temp);
        temp += "0"
    }
    
    for (var i = 0; i < count; i++){
        temp = i.toString(capacity);
        temp = zerosArr[temp.length-1] + temp;
        sumNum = 0;
        for (var x = 0; x < temp.length; x++){
            sumNum += points[temp.charAt(x)];
        }

        if (sumNum > maxPoint) {
            bad++
        }
    }
    return bad;
}

var timeStart = Date.now();
var bad       = problemVlad([0, 10, 25, 51], 101);
var timeEnd   = Date.now();
console.log("bad: "+bad, "time: "+ (timeEnd - timeStart));