排列组合及基本计数原理
排列
从n个不同元素中,任取m个元素按照一定的顺序排成一列(m≤n,m与n均为自然数,下同),叫做从n个不同元素中取出m个元素的一个排列.
从n个不同元素中取出m个元素的所有排列的个数(m≤n),叫做从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。
A(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!
此外规定 0!=1 (n!表示n(n-1)(n-2)...1, 也就是6!=6x5x4x3x2x1
组合
从n个不同元素中,任取m个元素并成一组(m≤n),叫做从n个不同元素中取出m个元素的一个组合.
从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数, 用符号 C(n,m) 表示。
C(n,m)=A(n,m)/m!
C(n,m)=C(n,n-m), (n≥m)
加法原理和分类计数法
⒈加法原理:做一件事,完成它可以有n类办法,在第一类办法中有m1种不同的方法,在第二类办法中有m2种不同的方法,……,在第n类办法中有mn种不同的方法,那么完成这件事共有N=m1+m2+m3+…+mn种不同方法。
⒉第一类办法的方法属于集合A1,第二类办法的方法属于集合A2,……,第n类办法的方法属于集合An,那么完成这件事的方法属于集合A1UA2U…UAn。
⒊分类的要求 :每一类中的每一种方法都可以独立地完成此任务;两类不同办法中的具体方法,互不相同(即分类不重);完成此任务的任何一种方法,都属于某一类(即分类不漏)。
乘法原理和分步计数法
⒈ 乘法原理:做一件事,完成它需要分成n个步骤,做第一步有m1种不同的方法,做第二步有m2种不同的方法,……,做第n步有mn种不同的方法,那么完成这件事共有N=m1×m2×m3×…×mn种不同的方法。
⒉合理分步的要求: 任何一步的一种方法都不能完成此任务,必须且只须连续完成这n步才能完成此任务;各步计数相互独立;只要有一步中所采取的方法不同,则对应的完成此事的方法也不同。
来源
====================
排列组合
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2013-06-26 PowerShell中的一个switch的例子