重要声明:此文面向初学者

真心推荐Typora,对于与我类似的markdown/LaTeX初学者尤其方便

进入正题:众所周知,杨辉三角形(也称“帕斯卡三角形”,后同)长这样↓


即每一项等于左上方的数加右上方的数的和

学编程的人一般看作这样↓


即每一项等于左上方的数与上方的数之和。
写个简单的递推式。

#include<stdio.h>
const int maxn=1e4+5;
int f[maxn],n;
int main(){scanf("%d",&n);f[1][1]=1;for(int i=2;i<=n;i++)for(int j=1;j<=i;j++)f[i][j]=f[i-1][j-1]+f[i-1][j];for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)printf("%3d%c",f[i][j],j==i?'\n':' ');return 0;
}

杨辉三角长啥样都知道了,那它与组合数有啥关系呢?

关系:CnmC^m_nCnm​的值等于杨辉三角形第n行第m个数
递推公式:Cnm=Cn−1m−1+Cn−1mC^m_n=C^{m-1}_{n-1}+C^{m}_{n-1}Cnm​=Cn−1m−1​+Cn−1m​

关系可以由递推公式得到。

实际上这里才进入正题

我就是来证个递推公式的
公式特写(Typora):

公式特写(Word)(感觉Word公式的效果好丑) :

代码啥的统一放后面了(因为太长了,而且突然想起没讲这玩意↓)。
Cnm=n!m!(n−m)!C^m_n=\tfrac {n!}{m!\left(n-m\right)!} Cnm​=m!(n−m)!n!​
这个通项公式咋来的呢?

组合公式就是由排列公式去掉重复的部分得到的

Cnm=Anmm!C^m_n=\dfrac{A^m_n}{m!} Cnm​=m!Anm​​
以下摘自百度百科并进行了LaTeX处理:

定义及公式

排列的定义:从nnn个不同元素中,任取mmm(m≤nm\le nm≤n,m,nm,nm,n均为自然数,下同)个不同的元素按照一定的顺序排成一列,叫做从nnn个不同元素中取出mmm个元素的一个排列;从nnn个不同元素中取出m(m≤n)m\left(m\le n\right)m(m≤n)个元素的所有排列的个数,叫做从nnn个不同元素中取出mmm个元素的排列数,用符号AnmA^m_nAnm​表示。
计算公式:Anm=n(n−1)(n−2)......(n−m+1)=n!(n−m)!A^m_n=n(n-1)(n-2)......(n-m+1)=\dfrac{n!}{(n-m)!}Anm​=n(n−1)(n−2)......(n−m+1)=(n−m)!n!​
此外规定0! = 1
组合的定义:从nnn个不同元素中,任取m(m≤n)m\left(m\le n\right)m(m≤n)个元素并成一组,叫做从nnn个不同元素中取出mmm个元素的一个组合;从nnn个不同元素中取出m(m≤n)m\left(m\le n\right)m(m≤n)个元素的所有组合的个数,叫做从nnn个不同元素中取出mmm个元素的组合数。用符号CnmC^m_nCnm​表示。
计算公式:Cnm=Anmm!=n!m!(n−m)!;Cnm=Cnn−m.(n≥m)C^m_n=\dfrac{A^m_n}{m!}=\dfrac{n!}{m!(n-m)!};C^m_n=C^{n-m}_n.(n\ge m)Cnm​=m!Anm​​=m!(n−m)!n!​;Cnm​=Cnn−m​.(n≥m)

笔者小计:Cnm=Cnn−mC^m_n=C^{n-m}_nCnm​=Cnn−m​应该属于性质公式。。。

符号:

C−CombinationC -CombinationC−Combination 组合数
A−ArrangementA -ArrangementA−Arrangement 排列数(在旧教材为P−PermutationP-PermutationP−Permutation)
N−NumberN -NumberN−Number 元素的总个数
M−M -M− 参与选择的元素个数
!−Factorial! - Factorial!−Factorial阶乘

个人认为排列组合数的定义和公式看完上述段落应该就会了。
关于排列组合数的性质这里就不再赘述(毕竟是初学者篇),请自行查询。

Markdown+LaTeX (Used Typora):

CSDN似乎不支持\begin{align},所以只能放个截图再加个代码了。。
Markdown+LaTeX代码:

$$
C^{m}_{n}=\tfrac {n!}{m!\left( n-m\right) !}\\
\begin{align}
&C_{n-1}^{m-1}+C_{n-1}^{m}\\
=&\tfrac{\left(n-1\right)!}{(m-1)![n-1-(m-1)]!}+\tfrac{(n-1)!}{m!(n-1-m)!}\\
=&\tfrac{\left(n-1\right)!}{(m-1)!(n-m)!}+\tfrac{(n-1)!}{m!(n-1-m)!}\\
=&\tfrac{m\left(n-1\right)!}{m!(n-m)!}+\tfrac{(n-m)(n-1)!}{m!(n-m)!}\\
=&\tfrac{m\left(n-1\right)!+(n-m)(n-1)!}{m!(n-m)!}\\
=&\tfrac{m\left(n-1\right)!+n!-m(n-1)!}{m!(n-m)!}\\
=&\tfrac{n!}{m!(n-m)!}\\
=&C_n^m
\end{align}
$$

Word代码:

<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><msubsup><mi>C</mi><mrow class="MJX-TeXAtom-ORD"><mi>n</mi></mrow><mrow class="MJX-TeXAtom-ORD"><mi>m</mi></mrow></msubsup><mo>=</mo><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mi>n</mi><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mrow><mo>(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo>)</mo></mrow><mo>!</mo></mrow></mfrac></mstyle><mspace linebreak="newline" /><mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mtr><mtd /><mtd><msubsup><mi>C</mi><mrow class="MJX-TeXAtom-ORD"><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn></mrow><mrow class="MJX-TeXAtom-ORD"><mi>m</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn></mrow></msubsup><mo>+</mo><msubsup><mi>C</mi><mrow class="MJX-TeXAtom-ORD"><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn></mrow><mrow class="MJX-TeXAtom-ORD"><mi>m</mi></mrow></msubsup></mtd></mtr><mtr><mtd><mo>=</mo></mtd><mtd><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mrow><mo>(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>)</mo></mrow><mo>!</mo></mrow><mrow><mo stretchy="false">(</mo><mi>m</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo>!</mo><mo stretchy="false">[</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>&#x2212;<!-- − --></mo><mo stretchy="false">(</mo><mi>m</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">]</mo><mo>!</mo></mrow></mfrac></mstyle><mo>+</mo><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle></mtd></mtr><mtr><mtd><mo>=</mo></mtd><mtd><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mrow><mo>(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>)</mo></mrow><mo>!</mo></mrow><mrow><mo stretchy="false">(</mo><mi>m</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle><mo>+</mo><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle></mtd></mtr><mtr><mtd><mo>=</mo></mtd><mtd><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>)</mo></mrow><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle><mo>+</mo><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle></mtd></mtr><mtr><mtd><mo>=</mo></mtd><mtd><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>)</mo></mrow><mo>!</mo><mo>+</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle></mtd></mtr><mtr><mtd><mo>=</mo></mtd><mtd><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo>)</mo></mrow><mo>!</mo><mo>+</mo><mi>n</mi><mo>!</mo><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mn>1</mn><mo stretchy="false">)</mo><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle></mtd></mtr><mtr><mtd><mo>=</mo></mtd><mtd><mstyle displaystyle="false" scriptlevel="0"><mfrac><mrow><mi>n</mi><mo>!</mo></mrow><mrow><mi>m</mi><mo>!</mo><mo stretchy="false">(</mo><mi>n</mi><mo>&#x2212;<!-- − --></mo><mi>m</mi><mo stretchy="false">)</mo><mo>!</mo></mrow></mfrac></mstyle></mtd></mtr><mtr><mtd><mo>=</mo></mtd><mtd><msubsup><mi>C</mi><mi>n</mi><mi>m</mi></msubsup></mtd></mtr></mtable>
</math>

欢迎挑错。

排列组合相关知识及组合数与杨辉三角形的关系(初学者篇)相关推荐

  1. 排列组合相关笔试面试题(C++)

    一.常考点 含有相同元素的全排列:例如2个a,3个b,4个c可以组成多少个不同的字符串?9!/2!/3!/4!. n个人的全排列:排成一排为n!,排成一圈且考虑旋转带来的差异也为n!,排成一圈但不考虑 ...

  2. python实现不重复排列组合_python之itertools的排列组合相关

    最近由于需要做一些排列组合的需要,本来没想到python自带库中会有这功能,还花了点时间写了下,后来翻看python标准库的时候,发现,这货居然直接提供了,而且还提供了几种形式,之间上代码: impo ...

  3. 彩票双色球 选号 组合[温习一下排列组合的知识吧]

    排列组合公式 在彩票接口开发时,碰到的选号算法问题,来共同温习下 排列组合公式/排列组合计算公式 公式P是指排列,从N个元素取R个进行排列. 公式C是指组合,从N个元素取R个,不进行排列. N-元素的 ...

  4. Qt实战案例(29)——利用数据库、TableView等相关知识展示汽车制造商与汽车关系(综合案例)

    目录 一.项目介绍 二.项目基本配置 三.UI界面设计 四.连接数据库模块 五.添加记录功能 六.完整代码 七.效果演示 一.项目介绍 结合SQL数据库.XML以及TableView相关知识,展示汽车 ...

  5. 排列组合的思考、组合数的推广和拓展

    对于排列而言,有一个不在自己的位置上 ⇒ 至少有两个不在自己的位置上: 对于排列而言,有两个不在自己的位置上 ⇏\not\Rightarrow 至少有三个不在自己的位置上: 1. 五局三胜制.七局四胜 ...

  6. Leetcode 组合总和 与 排列组合相关问题

    Leetcode 组合总和 与 全排列相关问题 组合总和 题目链接: Leetcode 39.组合总和 题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 c ...

  7. 排列组合相关公式讲解(Anm,Cnm等)

    两个性质: 1.C(n,m)=C(n,n-m) 2.C(n,m)=C(n-1,m)+C(n-1,m-1):(编程时可用此递推)

  8. .NET平台开源项目速览(11)KwCombinatorics排列组合使用案例(1)

    阅读目录 1.KwCombinatorics基本介绍 2.足球彩票排列组合应用 3.排列组合生成代码与测试 今年上半年,我在KwCombinatorics系列文章中,重点介绍了KwCombinator ...

  9. 【一级讲解】不可思议唤来不可思议β——数学排列组合

    不可思议唤来不可思议β Time Limit: 1 Sec Memory Limit: 128 MB Description In the world line 1.048596% 双叶理央因为&qu ...

  10. 达内html5是什么,Web前端工程师应该知道的HTML5相关知识有哪些

    今天小编要跟大家分享的文章是关于Web前端工程师应该知道的HTML5相关知识有哪些?随着互联网技术的快速发展,人们对互联网的使用越来越大,对于界面和用户体验的要求越来越高.因此Web前端越来越火,前端 ...

最新文章

  1. Single Page Application概览
  2. 借助Sniffer分析网络流量
  3. ajax请求目标地址,AJAX功能目标
  4. AbstractQueuedSynchronizer的介绍和原理分析
  5. 通过样式class也是可以控制超链接是否弹窗
  6. linux驱动编写(其他的驱动代码)
  7. sklearn中的train_test_split函数
  8. 深入理解虚拟机之虚拟机类加载机制
  9. 2019杭电多校第一场 Operation HDU - 6579
  10. 数学软件Maple使用教程
  11. 学术论文的定义、特点、写作方法以及写作格式
  12. CMD查看端口和进程
  13. python投资_python计算投资
  14. Cisco AAA 配置
  15. 团队项目开发编码规范
  16. 14位125MSPS四通道ADC电路图讲解(通过后端数字求和增强SNR性能)_电工基础电路图讲解
  17. css所有属性大合集,包含中文标题
  18. js加ajax实现分页
  19. CreateFontIndirect
  20. java 20008年月历输出 日期的个位与星期数相等 的日子

热门文章

  1. 数据安全风险分析及应对策略研究
  2. 在线教育开源源码:线上教育如今各种“陷阱营销”,应如何规避?
  3. 理解SVM的三重境界
  4. 关于ASA5505设置DMZ区域报错问题
  5. 京东云VPC对等连接(VPC Peering)
  6. MSE 支持 Apache Shenyu 网关实现全链路灰度
  7. WIN7不能访问共享文件夹
  8. 仿写“跳一跳”微信小游戏
  9. 华旭 身份证读卡器测试软件_华旭身份证读卡器阅读软件8.0版本 支持免驱
  10. elementui表格序号自增