по формуле из википедии 1 пост
генератор правильных комбинаций для пятнашек
function gen() {
function f(a) {
for (var b = 4, c = 0; c < a.length - 1; c++) {
!a[c] && (b -= 4 - c / 4 | 0);
for (var d = c + 1; d < a.length; d++) a[c] && a[d] && a[d] < a[c] && b++
}
return !(b % 2)
}
for (var a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 14, ""]; !f(a);)
for (var b = a.length - 1; 0 < b; b--) {
var e = Math.floor(Math.random() * (b + 1)),
g = a[e];
a[e] = a[b];
a[b] = g
}
return a
};
alert(gen());
функцию f можно использовать для проверки правильности автономно - на входе массив 15 чисел и пусто на выходе true/false