python计算组合数c(ni)_用Python计算组合数,通过
最近在开发一个报表,其中的指标要根据 所选择的 维度及属性字段,来动态计算,也就是没办法预先把结果算好。
维度及属性字段共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计算组合数,通过相关推荐
- 用python计算圆的面积_用Python计算大圆距
用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...
- python计算时间装饰器_使用python装饰器计算函数运行时间的实例
装饰器在python里面有很重要的作用, 如果能够熟练使用,将会大大的提高工作效率 今天就来见识一下 python 装饰器,到底是怎么工作的. 本文主要是利用python装饰器计算函数运行时间 一些需 ...
- python计算文件md5值_用python计算文件的MD5值
md5是一种常见不可逆加密算法,使用简单,计算速度快,在很多场景下都会用到,比如:给用户上传的文件命名,数据库中保存的用户密码,下载文件后检验文件是否正确等.下面讲解在python中如何使用md5算法 ...
- python求5的阶乘_用python分享5的阶乘 (咋办)用python计算阶乘
(急)用python计算阶乘 小编需要用python列出一个阶乘的表. 小编不太清楚python的阶乘公式 以阶乘reduce为逐次操作list里的每项,接收的参数为 2个,最后返回的为一个结果 &g ...
- python交互式和文件式_使用Python创建和自动化交互式仪表盘
python交互式和文件式 In this tutorial, I will be creating an automated, interactive dashboard of Texas COVI ...
- python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...
2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...
- python十大必备知识_学Python必备的基础知识
学Python必备的基础知识 1.基本概念 表达式:就是一个类似于数学公式的东西,一般仅仅用了计算一些结果 ,不会对程序产生实质性的影响,如9+3; 语句:在程序中语句一般需要完成某种功能,比如打印信 ...
- python树莓派编程 沃尔弗拉姆_《 Python树莓派编程》——3.3 Python入门-阿里云开发者社区...
本节书摘来自华章出版社<Python树莓派编程>一书中的第3章,第3.3节,作者:[美]沃尔弗拉姆·多纳特(Wolfram Donat)著韩德强 等译,更多章节内容可以访问云栖社区&quo ...
- python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...
基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...
最新文章
- Oracle学习(1)——BLOCK
- 15分钟从零开始搭建支持10w+用户的生产环境(三)
- Python气流介绍
- 上位机与基恩士plc以太网通讯_2020湛江AB罗克韦尔PLC主机回收二手或全新
- 新手学完Java可以面试哪些岗位?
- 如何删除github远程仓库?三部搞定!
- HTML 表单和输入
- python最简单单例模式_5种Python单例模式的实现方式
- 【Python-3.5】Pygal模拟骰子点数,分析结果可视化
- windows找不到文件gpedit.msc_u盘插入电脑在windows却找不到u盘的解决办法【详解】...
- 脏写 脏读 不可重复读 幻读 读偏差 写偏差 丢失更新 示例
- 一文看懂微服务,阿里云原生资深专家李国强独家分享
- 二进制转换成格雷码的方式
- Ubuntu 配置利用aira2进行百度网盘下载
- Lan9252-FPGA调试笔记
- 启发式算法之蚁群算法
- nodejs+express解决微信公众号token验证失败
- VMware DHCP Service服务启动时报错:错误1068 依存服务或组无法启动
- springboot 在线调整日志级别
- 当人工智能(AI)撞上供应链
热门文章
- oracle语句substring,oracle数据库中substring的使用方法 | 学步园
- 【茶余饭后001】Python代码写唐诗宋词,竟然也可以浪
- python统计微信消费
- 支付宝二维码可以抓包更改金额_好消息!潍坊人也可以手机扫码坐公交啦!
- C++【坑人神器:绝地求生小游戏2.0】关机代码
- 湖北武汉材料员报考幕墙石材的把控和管理建筑七大员报考
- 【数学建模】国赛真题分析 2014A题 嫦娥三号软着陆轨道设计与控制策略
- mapreduce 编程
- 光遇服务器维修补偿,光遇服务器连崩2天上热搜,官方大方补偿:跑图能拿56根蜡烛!...
- 利用聚合数据API进行Android开发之短信验证码