[算數學] 排列

  • 979
  • 0

摘要:[算數學] 排列

[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