排列组合

[复制链接]
发表于 2023-2-19 21:50:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
定义
  1.排列
  排列,一般地,从n个不同元素中取出m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个元素中取出m个元素的一个排列。特别地,当m=n时,这个排列被称作全排列。
  用Αnm表示“从n个元素里取m个元素,排成一排的方案数”,也就是Αnm=n!/(n-m)! ,将它称为排列数

   注:n!即为n的阶乘,记作n!=n×(n-1)×…×2×1。例如3!=6,4!=24,5!=120……
  2.组合
  组合是一个数学名词。一般地,从n个不同的元素中,任取m(m≤n)个元素为一组,叫作从n个不同元素中取出m个元素的一个组合。我们把有关求组合的个数的问题叫作组合问题。
  用Cnm表示“从n个元素里面选出m个元素”的方案数,也就是Cnm=n!/m!(n-m)! ,特殊的Cn0=1。
  又易由加法原理得Cnm=Cn-1m-1+Cn-1m  ,这就是组合数的递推公式,又叫帕斯卡公式这里本来想加个链接的,但是根本搜不到。
用法
  如果想求Cnm,那么可以使用以下这段代码
[code]#include#define ll long longusing namespace std;ll c[25][25];int n,m;int main(){    cin>>n>>m;    for(int i=0;i
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表