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

维度及属性字段共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. Oracle学习(1)——BLOCK
  2. 15分钟从零开始搭建支持10w+用户的生产环境(三)
  3. Python气流介绍
  4. 上位机与基恩士plc以太网通讯_2020湛江AB罗克韦尔PLC主机回收二手或全新
  5. 新手学完Java可以面试哪些岗位?
  6. 如何删除github远程仓库?三部搞定!
  7. HTML 表单和输入
  8. python最简单单例模式_5种Python单例模式的实现方式
  9. 【Python-3.5】Pygal模拟骰子点数,分析结果可视化
  10. windows找不到文件gpedit.msc_u盘插入电脑在windows却找不到u盘的解决办法【详解】...
  11. 脏写 脏读 不可重复读 幻读 读偏差 写偏差 丢失更新 示例
  12. 一文看懂微服务,阿里云原生资深专家李国强独家分享
  13. 二进制转换成格雷码的方式
  14. Ubuntu 配置利用aira2进行百度网盘下载
  15. Lan9252-FPGA调试笔记
  16. 启发式算法之蚁群算法
  17. nodejs+express解决微信公众号token验证失败
  18. VMware DHCP Service服务启动时报错:错误1068 依存服务或组无法启动
  19. springboot 在线调整日志级别
  20. 当人工智能(AI)撞上供应链

热门文章

  1. oracle语句substring,oracle数据库中substring的使用方法 | 学步园
  2. 【茶余饭后001】Python代码写唐诗宋词,竟然也可以浪
  3. python统计微信消费
  4. 支付宝二维码可以抓包更改金额_好消息!潍坊人也可以手机扫码坐公交啦!
  5. C++【坑人神器:绝地求生小游戏2.0】关机代码
  6. 湖北武汉材料员报考幕墙石材的把控和管理建筑七大员报考
  7. 【数学建模】国赛真题分析 2014A题 嫦娥三号软着陆轨道设计与控制策略
  8. mapreduce 编程
  9. 光遇服务器维修补偿,光遇服务器连崩2天上热搜,官方大方补偿:跑图能拿56根蜡烛!...
  10. 利用聚合数据API进行Android开发之短信验证码