最近在开发一个报表,其中的指标要根据 所选择的 维度及属性字段,来动态计算,也就是没办法预先把结果算好。

维度及属性字段共29个,那么总共产生的组合个数为:29个中选1个的组合数,29个中选2个的组合数。。。,直到 29中选择29个的组合数,把这些组合数相加,就是总的组合数。

那么这29个字段的任意组合,到底有多少种可能呢?之前我预估大概是千万级,下面用python来算一算:

import math

s =0

for i in range(1,30):

n,m = 29,i

r = math.factorial(n)//(math.factorial(m)*math.factorial(n-m))

s += r

print(n,m,'组合数:',r)

print('总的组合数:',s)

输出结果:

29 1 组合数: 29

29 2 组合数: 406

29 3 组合数: 3654

29 4 组合数: 23751

29 5 组合数: 118755

29 6 组合数: 475020

29 7 组合数: 1560780

29 8 组合数: 4292145

29 9 组合数: 10015005

29 10 组合数: 20030010

29 11 组合数: 34597290

29 12 组合数: 51895935

29 13 组合数: 67863915

29 14 组合数: 77558760

29 15 组合数: 77558760

29 16 组合数: 67863915

29 17 组合数: 51895935

29 18 组合数: 34597290

29 19 组合数: 20030010

29 20 组合数: 10015005

29 21 组合数: 4292145

29 22 组合数: 1560780

29 23 组合数: 475020

29 24 组合数: 118755

29 25 组合数: 23751

29 26 组合数: 3654

29 27 组合数: 406

29 28 组合数: 29

29 29 组合数: 1

总的组合数: 536870911

最后1行,把上面所有组合数相加,得到总的组合数为:536870911,约为 5.3亿。。。

当然,这么大的组合数,客户在查报表的时候,绝对不可能会覆盖这所有的组合,最多也就是常用的 几十种吧。

python计算组合数c(ni)_用Python计算组合数,通过相关推荐

  1. 用python计算圆的面积_用Python计算大圆距

    用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...

  2. python计算时间装饰器_使用python装饰器计算函数运行时间的实例

    装饰器在python里面有很重要的作用, 如果能够熟练使用,将会大大的提高工作效率 今天就来见识一下 python 装饰器,到底是怎么工作的. 本文主要是利用python装饰器计算函数运行时间 一些需 ...

  3. python计算文件md5值_用python计算文件的MD5值

    md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...

  4. python求5的阶乘_用python分享5的阶乘 (咋办)用python计算阶乘

    (急)用python计算阶乘 小编需要用python列出一个阶乘的表. 小编不太清楚python的阶乘公式 以阶乘reduce为逐次操作list里的每项,接收的参数为 2个,最后返回的为一个结果 &g ...

  5. python交互式和文件式_使用Python创建和自动化交互式仪表盘

    python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...

  6. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  7. python十大必备知识_学Python必备的基础知识

    学Python必备的基础知识 1.基本概念 表达式:就是一个类似于数学公式的东西,一般仅仅用了计算一些结果 ,不会对程序产生实质性的影响,如9+3; 语句:在程序中语句一般需要完成某种功能,比如打印信 ...

  8. python树莓派编程 沃尔弗拉姆_《 Python树莓派编程》——3.3 Python入门-阿里云开发者社区...

    本节书摘来自华章出版社<Python树莓派编程>一书中的第3章,第3.3节,作者:[美]沃尔弗拉姆·多纳特(Wolfram Donat)著韩德强 等译,更多章节内容可以访问云栖社区&quo ...

  9. python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...

    基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...

最新文章

  1. request中的内容存储_宜信开源|调用链系列(3):解读UAVStack中的调用链技术...
  2. 为什么航空发动机那么难造?看看3D工作原理
  3. python 获取类名
  4. linux下的makefile编程
  5. Android中常见的MVC/MVP/MVVM模式
  6. SetTimeout(延迟计时器)
  7. 史上最贵充电宝iPad Pro问世
  8. 浅谈协方差矩阵 再谈协方差矩阵之主成分分析
  9. 微信支付java后台
  10. Matlab音频信号的基本处理与分析
  11. 微师电脑客户端 附使用教程
  12. trainNetwork - Matlab官网介绍的中文版
  13. 清除网页缓存的快捷键
  14. 如何破解域管理员密码
  15. 快速建立Typecho博客网站
  16. 恐怖的广告推送。其实,我们每天都在“裸奔”!
  17. ADAMoracle预言机将数据传至链上实现区块链落地应用
  18. 学习:SharePoint Caml Filter with Muli-values Lookup field
  19. LTE 各频段对应频点以及频率,频点号与频率之间的转换关系
  20. linux ioctl 设备只读,linux – lsattr:设备的不适当的ioctl在读取标志时

热门文章

  1. 王者服务器维护什么时间结束s20,王者荣耀s20赛季还有多久结束?s20赛季结束时间介绍[多图]...
  2. ueditor文件夹里的inc_fun_funadmin.php,织梦DedeCMS与Ueditor百度编辑器整合完整版
  3. 自动驾驶之车位线检测之二单路鱼眼相机矫正裁剪(python ,C++,opencv)
  4. 程序员恋爱比例竟然是最高?
  5. IIS错误页面隐藏版本信息 - Web.Config customErrors配置
  6. 分时线的9代表什么_股票早上快速拉高然后慢慢下跌,意味着什么?不懂就别炒股...
  7. super在java中的作用
  8. Excel限定输入日期格式是yyyy-mm-dd(亲自实践)
  9. ffmpeg转码,输入视频帧率与输出帧率不相等时,出现丢帧问题
  10. Solid-state revolution: in-depth on how SSDs really work