Skip to content

Instantly share code, notes, and snippets.

@kirilloid
Created April 21, 2015 17:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kirilloid/aa41b088d69cd1078336 to your computer and use it in GitHub Desktop.
Save kirilloid/aa41b088d69cd1078336 to your computer and use it in GitHub Desktop.
Randnomizer
(function (n, m) {
if (typeof m === 'undefined') { m = 1; }
if (typeof n === 'undefined') { throw new TypeError("Provide at least first number"); }
function randSort () {
return Math.random() * 2 - 1;
}
function getArr(n) {
var a = [];
for (var i = 1; i <= n; i++) { a.push(i); }
return a;
}
var out = [getArr(n)], a;
var wrong = false;
for (var j = 1; j <= m; j++) {
do {
a = getArr(n);
a.sort(randSort);
wrong = false;
for (var k = 0; k < j; k++) {
for (var i = 0; i < n; i++) {
if (out[k][i] == a[i]) { wrong = true; break; }
}
if (wrong) { break; }
}
} while (wrong);
out.push(a);
}
for (var i = 0; i < n; i++) {
var a = [];
for (var j = 1; j <= m; j++) {
a.push(out[j][i]);
}
console.log((i+1) + ": " + a.join(", "));
}
}(23, 2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment