You are currently viewing the GMLscripts.com static mirror. Forum access and script submissions are not available through this mirror.

Invert GMLscripts.com

permutation

Returns the number of unique subsets created from all permutations of a number of elements. The order of the chosen elements is significant.

$$P(n,k) = \mathrm{P}_{k}^{n} = \frac{n!}{(n-k)!}$$

If Alice, Bob, and Carol are playing a board game, the order they take turns can be one of \(P(3,3) = 6\) possibilities. They are: ABC, ACB, BAC, BCA, CAB, CBA.

In a race of six Olympians, only three can win bronze, silver, and gold medals. The number of possible medalist outcomes is equal to \(P(6,3) = 120\).

permutation(set, subset)
Returns the number of unique subsets created from all permutations of a number of elements.
COPY/// @func   permutation(set, subset)
///
/// @desc   Returns the number of unique subsets created from all
///         permutations of a number of elements. The order of the
///         chosen elements is significant. Returns (-1) on error.
///
/// @param  {real}      set         number of elements
/// @param  {real}      subset      size of the subset
///
/// @return {real}      number of permutations
///
/// GMLscripts.com/license

function permutation(set, subset)
{
    var n = floor(set);
    var k = floor(subset);
    var m = n - k;
    if (m < 0) return (-1);
    var f = 1;
    for (var l=n; l>m; l-=1) f *= l;
    return f;
}

Contributors: xot

GitHub: View · Commits · Blame · Raw