31 lines
821 B
JavaScript
31 lines
821 B
JavaScript
// Permutations in js reference (also cool algorithm):
|
|
// https://stackoverflow.com/a/41068709
|
|
function perm(a){
|
|
if (a.length == 0) return [[]];
|
|
var r = [[a[0]]],
|
|
t = [],
|
|
s = [];
|
|
if (a.length == 1) return r;
|
|
for (var i = 1, la = a.length; i < la; i++){
|
|
for (var j = 0, lr = r.length; j < lr; j++){
|
|
r[j].push(a[i]);
|
|
t.push(r[j]);
|
|
for(var k = 1, lrj = r[j].length; k < lrj; k++){
|
|
for (var l = 0; l < lrj; l++) s[l] = r[j][(k+l)%lrj];
|
|
t[t.length] = s;
|
|
s = [];
|
|
}
|
|
}
|
|
r = t;
|
|
t = [];
|
|
}
|
|
return r;
|
|
}
|
|
|
|
function setHTML(id, html) {
|
|
document.getElementById(id).innerHTML = html;
|
|
}
|
|
|
|
function setValue(id, value) {
|
|
document.getElementById(id).value = value;
|
|
}
|