欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2025/6/17 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 【组合数学】排列组合 ( 排列组合示例 ) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

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



参考博客 :

  • 【组合数学】基本计数原则 ( 加法原则 | 乘法原则 )
  • 【组合数学】集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | 二项式定理 )
  • 【组合数学】排列组合 ( 排列组合内容概要 | 选取问题 | 集合排列 | 集合组合 )




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



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


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


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


将上述 111 ~ 300300300 数字 , 按照除以 333 的余数分为以下三类 :

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

组合问题 :

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

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

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


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

  • 第一个集合取 111 个数 , 100100100 种取法
  • 第二个集合取 111 个数 , 100100100 种取法
  • 第三个集合取 111 个数 , 100100100 种取法

总共有 1003100^31003 种取法 ;



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

3C(100,3)+1003=14851003C(100, 3) + 100^3 = 14851003C(100,3)+1003=1485100





二、排列组合示例 2



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


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


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

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

因式 ;


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


上述 111 ~ 100010001000100010001000 个数字中统计分解出的 222555 的个数


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

  • ① 是 222 的倍数的数字有 500500500
  • ② 是 444 的倍数的数字有 250250250 , 分解出 2×22\times22×2 , 其中一个 222 在之前已经统计过 , 这里在加上 250250250222 , 当前有 750750750222 ;
  • ③ 是 161616 的倍数的数字有 626262 , 分解出 2×2×22\times2 \times 22×2×2 , 其中两个 222 在之前已经统计过 , 这里在加上 626262222 , 当前有 812812812222 ;
  • ④ 是 323232 的倍数的数字有 313131 , 分解出 2×2×2×22\times2 \times 2\times 22×2×2×2 , 其中三个 222 在之前已经统计过 , 这里在加上 313131222 , 当前有 833833833222 ;
    ⋮\vdots

统计 555 的因子个数 : 249249249 个 ;

  • ① 是 555 的倍数的数字有 200200200 , 统计有 111 个因子 555 的情况 , 其中肯定有的因子可以分解出 25,125,62525, 125, 62525,125,625 等情况 , 下面逐渐细化剥离出没有统计的因子 ;
  • ② 是 252525 的倍数的数字有 404040 , 分解出 5×55\times55×5 , 其中一个 555 在之前已经统计过 , 这里在加上 404040555 , 当前有 240240240555 ;
  • ③ 是 125125125 的倍数的数字有 888 , 分解出 5×5×55\times5 \times 55×5×5 , 其中两个 555 在之前已经统计过 , 这里在加上 888555 , 当前有 248248248555 ;
  • ④ 是 625625625 的倍数的数字有 111 , 分解出 5×5×5×55\times5 \times 5 \times 55×5×5×5 , 其中三个 555 在之前已经统计过 , 这里在加上 111555 , 当前有 249249249555 ;


分解出的 222 的个数 iii 肯定是大于 500500500 的数 ;

分解出的 555 的个数 jjj 值为 249249249 个 ;

因此1000!1000!1000! 末尾 000 的个数 是 249249249 个 ;

总结

以上是生活随笔为你收集整理的【组合数学】排列组合 ( 排列组合示例 )的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。