JSFiddle - React, Tailwind, and code Playground
by hescano
JavaScript
//ejercicio de google foobar 3
function answer(s, b) {
var k = s.length;
var x = toNumberArr(sort(s, 'desc'));
var y = toNumberArr(sort(s));
var z = parseInt(x, b) - parseInt(y, b);
var n = z;
return n.toString(b);
}
function sort(str, order) {
var n = toIntArr(str);
if (order === 'desc') {
return n.sort(function(a, b){return b-a});
} else {
return n.sort(function(a, b){return a-b});
}
}
function toIntArr(arr) {
var n = [];
for (var i = 0; i < arr.length; i++) {
n.push(Number(arr[i]));
}
return n;
}
function toNumberArr(arr) {
return parseInt(arr.join(''));
}
function pad(n, k) {
var str = n.toString();
if (str.length < k) {
while (str.length !== k) {
str = '0' + str;
}
}
return str;
}
var val = '210022';
var base = 3;
var values = [val];
var returnValue = 0;
while (true) {
var newVal = answer(values[values.length - 1], base);
if (values.indexOf(newVal) > -1) {
returnValue = values.length - values.indexOf(newVal);
break;
}
values.push(newVal);
}
alert(returnValue);