📜  如果 n = 12 且 r = 2,则求排列和组合的数量(1)

📅  最后修改于: 2023-12-03 15:09:18.478000             🧑  作者: Mango

求排列和组合的数量

给定 $n=12$ 和 $r=2$,我们需要求排列和组合的数量。

排列的数量

排列是指从 $n$ 个元素中选取 $r$ 个不同元素进行排列的方案数,记为 $P(n,r)$。

公式:$$ P(n,r) = \frac{n!}{(n-r)!} $$

其中,$n!$ 表示 $n$ 的阶乘,即 $n!=n\times(n-1)\times\cdots\times2\times1$。

在本题中,$n=12$,$r=2$,代入公式得到:$$ P(12,2) = \frac{12!}{(12-2)!}=\frac{12!}{10!}=12\times11=132 $$

因此,从 $12$ 个元素中选取 $2$ 个不同元素进行排列的方案数为 $132$。

组合的数量

组合是指从 $n$ 个元素中选取 $r$ 个不同元素的方案数,记为 $C(n,r)$ 或 $\binom{n}{r}$。

公式:$$ C(n,r) =\binom{n}{r} = \frac{n!}{r!(n-r)!} $$

在本题中,$n=12$,$r=2$,代入公式得到:$$ C(12,2) = \binom{12}{2} =\frac{12!}{2!(12-2)!}=\frac{12!}{2!10!}=66 $$

因此,从 $12$ 个元素中选取 $2$ 个不同元素的方案数为 $66$。

代码实现

import math

n = 12
r = 2

P = math.factorial(n) // math.factorial(n - r)
C = math.factorial(n) // (math.factorial(r) * math.factorial(n - r))

print(f"从 {n} 个元素中选取 {r} 个不同元素进行排列的方案数为 {P}")
print(f"从 {n} 个元素中选取 {r} 个不同元素的方案数为 {C}")

输出:

从 12 个元素中选取 2 个不同元素进行排列的方案数为 132
从 12 个元素中选取 2 个不同元素的方案数为 66