利用Python进行组合数计算
时间:2022-07-22
本文章向大家介绍利用Python进行组合数计算,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
如何利用Python来实现数学组合计算?一起来看看吧~
前言
开学几个星期了emmm 作业一如既往的多。。。。。。。
在做数学的时候经常要算组合数,奈何我的计算机太水了(其实是我懒哈哈)
正好最近学Python学的差不多哈哈,所以寻思着能不能用Python实现一下(虽然我用不上哈哈)
说干就干,在学校宿舍被窝里用QPython
捣鼓了好一会(我菜),最终就实现了哈哈哈
下面我们来看看吧~
组合数
从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数
定义
组合是数学的重要概念之一。从 n 个不同元素中每次取出 m 个不同元素,不管其顺序合成一组,称为从 n 个元素中不重复地选取 m 个元素的一个组合。所有这样的组合的种数称为组合数
计算公式
在线性写法中被写作C(n,m)
↓组合数的计算公式为↓
代码
↓代码严格遵循PEP 8,大家也不要例外哦↓
n_input_msg = "请输入组合数参数N:"
m_input_msg = "请输入组合数参数M:"
result_msg = "计算结果:"
warn_msg = "组合参数N不能为0!"
n = int(input(n_input_msg))
m = int(input(m_input_msg))
nm_differ = n - m
def zhs(n_num, m_num, nm_differ_num):
# n的阶乘
n_data = n_num
while n_num >= 1:
if n_data == n_num:
n_num -= 1
continue
n_data *= n_num
n_num -= 1
# m的阶乘
m_data = m_num
while m_num >= 1:
if m_data == m_num:
m_num -= 1
continue
m_data *= m_num
m_num -= 1
# n - m 的阶乘
nm_differ_data = nm_differ_num
while nm_differ_num >= 1:
if nm_differ_data == nm_differ_num:
nm_differ_num -= 1
continue
nm_differ_data *= nm_differ_num
nm_differ_num -= 1
# 组合数计算公式 n! / m! * (n - m)!
result = n_data / (m_data * nm_differ_data)
# 结果返回
return result
if n == m and n != 0 and m != 0:
print("%s1" % result_msg)
elif n != 0 and m == 0:
print("%s1" % result_msg)
elif n == 0:
print("%s" % warn_msg)
else:
result_data = zhs(n, m, nm_differ)
print("%s%d" % (result_msg, result_data))
效果
废话少说
快去做作业吧哈哈
文章目录
function Catalogswith(){document.getElementById("catalog-col").classList.toggle("mdui-menu-open")}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解Kubernetes存储体系
- Python3 正则表达式特殊符号及用法.md
- Web网页响应式布局.md
- BootStrap应用开发学习入门1
- Python实现单链表和字典
- 关于如何做好运维管理工作的一点思考
- 2.6-Air302(NB-IOT)-基础外设-AD采集,NTC温度传感器B3950
- 2.5-Air302(NB-IOT)-基础外设-串口(485,422),CRC校验
- 2.3-Air302(NB-IOT)-基础外设-输入检测
- 2.2-Air302(NB-IOT)-基础外设-PWM输出
- API可视化管理平台YApi
- BootStrap应用开发学习入门
- 为什么要学习现代控制理论(机器人方向)?
- 2.XML之编程解析示例笔记
- XML快速入门学习笔记