1. 乘法原理
若做一件事可分为n个步骤,且第一个步骤的实现方式有m1种;
第二个步骤实现方式有m2种;...
第n步实现方式有种,
则这件事的实现方式总共有 m1*m2*m3*...*种。每一种方法都能够直接达成目标。
2. 加法原理
若做一件事,完成它可以有n类办法,第一类办法中有m1种不同的方法,
第二类办法中有m2种不同的方法,……,
在第n类办法中有mn种不同的方法,
那么完成这件事共N=m1+m2+m3+…+种不同方法。每一种方法都能够直接达成目标。
3. 排列:A(arrangement),有序
例:从n件物品中按一定的排序规则(比如红黄蓝牌)拿出不同的m件,可分为m步——乘法原理;
第一步红有n种可能;第二步黄有n-1种可能;...第m步蓝有n-m+1种可能;
故总可能数为 n*n-1*n-2*...*n-m+1;
4. 组合:C(combination),无序捆绑
例:从n件物品中拿出不同的m件,基于排列问题,由于组合无视排列中的ABC,ACB,BCA等,则组合问题的可能性通常比排列要小得多。
因为排列的计算中包含了拿出的m件物品的m!种方式,
故组合的可能数需在排列的计算结果后/m!即可得到。
总结:排列基于乘法原理,组合基于排列。