function log(x, y) { return Math.log(y) / Math.log(x); } biggest_deg = (num,base)=>Math.floor( log(base,num) ); biggest_log = (num,base)=>Math.pow(base,biggest_deg(num,base)); biggest_log_n = (num,base)=>Math.floor(num / biggest_log(num,base)); biggest_fit = (num,base)=> biggest_log(num,base)*biggest_log_n(num,base); convert = (num,base)=>{ let res = []; for(let i = 0; i <= biggest_deg(num,base); i++) res.push(0); while(num>=base){ res[res.length-1-biggest_deg(num,base)] = biggest_log_n(num,base); num-=biggest_fit(num,base); }; res[res.length-1] = num; return res; }