摘要:[算數學] 排列
[1,2,3,4,5] 依序取出五個,有 5!種結果,列出全部結果。
http://jsfiddle.net/grence/9cNyj/1/
var times = 0,
count = 0;
function rec(input, tmp) {
times++;
if (input.length == 1) {
tmp += input[0] + ";
";
count++;
document.write(times + " : " + count + " : " + tmp);
}
else {
for (var i = 0, j = input.length; i < j; i++) {
var copy = input.slice();
var r = copy.splice(i, 1);
tmp += r[0];
rec(copy, tmp);
tmp = tmp.substring(0, tmp.length - 1);
}
}
};
rec([1, 2, 3, 4, 5], "");
[1,2,3], [4,5,6], [7,8,9] 三組,從每組各取一個,有幾種結果?(3! 三組先排列)* ( 3! * 3! * 3! 組內再排列)…大概吧。
[a, b], [c, d, e, f], [g, h, i, j], [k, l, m, n, o],每組各取一個,列出全部結果。Orz