【组合数学】排列组合 ( 排列组合示例 )

举报
韩曙亮 发表于 2022/01/10 23:58:22 2022/01/10
【摘要】 文章目录 一、排列组合示例 1 ( 组合 | 乘法法则 | 加法法则 )二、排列组合示例 2 参考博客 : 【组合数学】基本计数原则 ( 加法原则 | 乘法原则 )【组合数学】集合...



参考博客 :





一、排列组合示例 1 ( 组合 | 乘法法则 | 加法法则 )



基本计数公式就是 加法法则 , 乘法法则 ;


1 1 1 ~ 300 300 300 中任意取出 3 3 3 个数 , 使得这三个数的和能被 3 3 3 整除 , 有多少种选取方法 ?


使用 分类 ( 乘法法则 ) , 分布 ( 加法法则 ) , 排列组合 的方法进行解决 ;


将上述 1 1 1 ~ 300 300 300 数字 , 按照除以 3 3 3 的余数分为以下三类 :

  • ① 除以 3 3 3 余数为 1 1 1 : A = { 1 , 4 , ⋯   , 298 } A = \{ 1, 4, \cdots , 298 \} A={1,4,,298}
  • ② 除以 3 3 3 余数为 2 2 2 : B = { 2 , 5 , ⋯   , 299 } B = \{ 2, 5, \cdots , 299 \} B={2,5,,299}
  • ③ 除以 3 3 3 余数为 0 0 0 : C = { 3 , 6 , ⋯   , 300 } C = \{ 3, 6, \cdots , 300\} C={3,6,,300}

组合问题 :

  • A A A 集合中任选 3 3 3 个数 , 三个数之和肯定是 3 3 3 的倍数 , 可以倍 3 3 3 整除 ; 选取方法有 C ( 100 , 3 ) C(100, 3) C(100,3) 种 ;

  • B B B 集合中任选 3 3 3 个数 , 三个数之和肯定是 3 3 3 的倍数 , 可以倍 3 3 3 整除 ; 选取方法有 C ( 100 , 3 ) C(100, 3) C(100,3) 种 ;

  • C C C 集合中任选 3 3 3 个数 , 三个数之和肯定是 3 3 3 的倍数 , 可以倍 3 3 3 整除 ; 选取方法有 C ( 100 , 3 ) C(100, 3) C(100,3) 种 ;


乘法法则 : A , B , C A,B,C A,B,C 中每个集合各取一个数 , 三个数之和也是 3 3 3 的倍数 ,

  • 第一个集合取 1 1 1 个数 , 100 100 100 种取法
  • 第二个集合取 1 1 1 个数 , 100 100 100 种取法
  • 第三个集合取 1 1 1 个数 , 100 100 100 种取法

总共有 10 0 3 100^3 1003 种取法 ;



最终的取法 , 使用加法法则 :

3 C ( 100 , 3 ) + 10 0 3 = 1485100 3C(100, 3) + 100^3 = 1485100 3C(100,3)+1003=1485100





二、排列组合示例 2



1000 ! 1000! 1000! 末尾 0 0 0 的个数 ?


这个数值使用乘法计算 , 非常大 , 基本无法计算 ;


列出因式 : 1000 ! 1000! 1000! 看做

1000 × 999 × 998 × ⋯ × 2 × 1 1000 \times 999 \times 998 \times \cdots \times 2 \times 1 1000×999×998××2×1

因式 ;


原理说明 : 上述因式中有 1000 1000 1000 个因子 , 将这 1000 1000 1000 个因子分解 , 如果分解式中有 i i i 5 5 5 , j j j 2 2 2 , 则 i i i j j j 中较小的值 min ⁡ { i , j } \min\{ i,j \} min{i,j} 就是 0 0 0 的个数 ;


上述 1 1 1 ~ 1000 1000 1000 1000 1000 1000 个数字中统计分解出的 2 2 2 5 5 5 的个数


统计 2 2 2 的因子个数 : 肯定大于 500 ;

  • ① 是 2 2 2 的倍数的数字有 500 500 500
  • ② 是 4 4 4 的倍数的数字有 250 250 250 , 分解出 2 × 2 2\times2 2×2 , 其中一个 2 2 2 在之前已经统计过 , 这里在加上 250 250 250 2 2 2 , 当前有 750 750 750 2 2 2 ;
  • ③ 是 16 16 16 的倍数的数字有 62 62 62 , 分解出 2 × 2 × 2 2\times2 \times 2 2×2×2 , 其中两个 2 2 2 在之前已经统计过 , 这里在加上 62 62 62 2 2 2 , 当前有 812 812 812 2 2 2 ;
  • ④ 是 32 32 32 的倍数的数字有 31 31 31 , 分解出 2 × 2 × 2 × 2 2\times2 \times 2\times 2 2×2×2×2 , 其中三个 2 2 2 在之前已经统计过 , 这里在加上 31 31 31 2 2 2 , 当前有 833 833 833 2 2 2 ;
    ⋮ \vdots

统计 5 5 5 的因子个数 : 249 249 249 个 ;

  • ① 是 5 5 5 的倍数的数字有 200 200 200 , 统计有 1 1 1 个因子 5 5 5 的情况 , 其中肯定有的因子可以分解出 25 , 125 , 625 25, 125, 625 25,125,625 等情况 , 下面逐渐细化剥离出没有统计的因子 ;
  • ② 是 25 25 25 的倍数的数字有 40 40 40 , 分解出 5 × 5 5\times5 5×5 , 其中一个 5 5 5 在之前已经统计过 , 这里在加上 40 40 40 5 5 5 , 当前有 240 240 240 5 5 5 ;
  • ③ 是 125 125 125 的倍数的数字有 8 8 8 , 分解出 5 × 5 × 5 5\times5 \times 5 5×5×5 , 其中两个 5 5 5 在之前已经统计过 , 这里在加上 8 8 8 5 5 5 , 当前有 248 248 248 5 5 5 ;
  • ④ 是 625 625 625 的倍数的数字有 1 1 1 , 分解出 5 × 5 × 5 × 5 5\times5 \times 5 \times 5 5×5×5×5 , 其中三个 5 5 5 在之前已经统计过 , 这里在加上 1 1 1 5 5 5 , 当前有 249 249 249 5 5 5 ;


分解出的 2 2 2 的个数 i i i 肯定是大于 500 500 500 的数 ;

分解出的 5 5 5 的个数 j j j 值为 249 249 249 个 ;

因此 1000 ! 1000! 1000! 末尾 0 0 0 的个数 是 249 249 249 个 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/109113338

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。