数学归纳法证明从N个数中取三个数的不同组合的总数为N(N-1)(N-2)/6

设P(n)为命题:从n个数中取三个数的不同组合的总数为 n ( n − 1 ) ( n − 2 ) 6 \frac{n(n-1)(n-2)}{6} 6n(n1)(n2)

基础步骤: P(3)为真,因为只有1种组合,而 3 ∗ ( 3 − 1 ) ∗ ( 3 − 2 ) 6 = 1 \frac{3*(3-1)*(3-2)}{6} = 1 63(31)(32)=1

归纳步骤: 归纳假设对正整数k > 3,P(k)为真。即假定从k个数中取三个数的不同组合的
\quad\quad\quad\quad 总数为 k ( k − 1 ) ( k − 2 ) 6 \frac{k(k-1)(k-2)}{6} 6k(k1)(k2)。必须证明:在归纳假设下,P(k+1)也为真。
\quad\quad\quad\quad 即从k+1个数中取三个数的不同组合的总数为 ( k + 1 ) k ( k − 1 ) 6 \frac{(k+1)k(k-1)}{6} 6(k+1)k(k1)

\quad\quad 考虑从集合中剔除一个元素,这样一来就剩下k个数了,根据归纳假设,组合数为
k ( k − 1 ) ( k − 2 ) 6 \frac{k(k-1)(k-2)}{6} 6k(k1)(k2),每个元素被剔除的情况共有 C k + 1 1 = k + 1 C_{k+1}^{1}=k+1 Ck+11=k+1 种,所以组合数共有
( k + 1 ) ⋅ k ( k − 1 ) ( k − 2 ) 6 (k+1)·\frac{k(k-1)(k-2)}{6} (k+1)6k(k1)(k2)种。但是,对于任一组合(a, b, c)而言,只要a, b, c都没有被剔除,
该组合就会被重复计数,所以一共重复了 ( k + 1 ) − 3 = k − 2 (k+1)-3=k-2 (k+1)3=k2次,最终的结果为
( k + 1 ) ⋅ k ( k − 1 ) ( k − 2 ) 6 ⋅ 1 k − 2 = ( k + 1 ) k ( k − 1 ) 6 (k+1)·\frac{k(k-1)(k-2)}{6}·\frac{1}{k-2}=\frac{(k+1)k(k-1)}{6} (k+1)6k(k1)(k2)k21=6(k+1)k(k1)
\quad\quad 至此,已经完成了基础步骤和归纳步骤,根据数学归纳法原理可知:对所有正整数n>=3,P(n)为真。

你可能感兴趣的:(数据结构与算法)