定义阶乘算法
# 阶乘算法def factorial(n: int)->int: sum = 1 for i in range(1, n + 1): # 连续计算乘法 sum *= i return sum
定义排列算法
# 排列算法# 排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个不同的元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数def factorial_Amn(m: int, n: int) ->int: if m <= n: return factorial(n) / factorial(n - m) else: pass
定义组合算法
# 组合算法# 组合的定义:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。def factorial_Cmn(m: int, n: int) ->int: if m <= n: return factorial_Amn(m, n) / factorial(m) else: pass
双色球有多少种可能
# 双色球所有可能组合数量为?# 红球可能组合数redbolls = factorial_Cmn(6, 33)# 蓝球可能组合数bluebolls = factorial_Cmn(1, 16)# 合计组合数print("双色球所有可能组合数量为: {:,} 种可能".format(redbolls * bluebolls))
结果
双色球所有可能组合数量为: 17,721,088.0 种可能
双色球全部购买要花多少钱
print("双色球全部购买所需要花费: {:,} 元".format(redbolls * bluebolls * 2))
总花费金额
双色球全部购买所需要花费: 35,442,176.0 元
双色球中奖概率是多少
print("双色球购买1注中奖概率为: {:.10%}".format(1 / (redbolls * bluebolls)))
单注中奖概率
双色球购买1注中奖概率为: 0.0000056430%
这跟0没什么区别.......
大乐透有多少种可能
# 大乐透所有可能组合数量为?print()# 前区可能组合数frontbolls = factorial_Cmn(5, 35)# 后区可能组合数lastbolls = factorial_Cmn(2, 12)# 合计组合数print("大乐透所有可能组合数量为: {:,} 种可能".format(frontbolls * lastbolls))
结果
大乐透所有可能组合数量为: 21,425,712.0 种可能
大乐透全部购买要花多少钱
print("大乐透全部购买需要花费: {:,}元".format(frontbolls * lastbolls * 2))
总花费金额
大乐透全部购买需要花费: 42,851,424.0元
大乐透中奖概率是多少
print("大乐透购买1注中奖概率为: {:.10%}".format(1 / (frontbolls * lastbolls)))
单注中奖概率
大乐透购买1注中奖概率为: 0.0000046673%
....这结果, 还不如买双色球去....更有希望
完整代码
# 阶乘算法def factorial(n: int)->int: sum = 1 for i in range(1, n + 1): # 连续计算乘法 sum *= i return sum# 排列算法# 排列的定义:从n个不同元素中,任取m(m≤n,m与n均为自然数,下同)个不同的元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数用符号 A(n,m)def factorial_Amn(m: int, n: int) ->int: if m <= n: return factorial(n) / factorial(n - m) else: pass# 组合算法# 组合的定义:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 C(n,m) 表示。def factorial_Cmn(m: int, n: int) ->int: if m <= n: return factorial_Amn(m, n) / factorial(m) else: pass# 双色球所有可能组合数量为?# 红球可能组合数redbolls = factorial_Cmn(6, 33)# 蓝球可能组合数bluebolls = factorial_Cmn(1, 16)# 合计组合数print("双色球所有可能组合数量为: {:,} 种可能".format(redbolls * bluebolls))print("双色球全部购买所需要花费: {:,} 元".format(redbolls * bluebolls * 2))print("双色球购买1注中奖概率为: {:.10%}".format(1 / (redbolls * bluebolls)))# 大乐透所有可能组合数量为?print()# 前区可能组合数frontbolls = factorial_Cmn(5, 35)# 后区可能组合数lastbolls = factorial_Cmn(2, 12)# 合计组合数print("大乐透所有可能组合数量为: {:,} 种可能".format(frontbolls * lastbolls))print("大乐透全部购买需要花费: {:,}元".format(frontbolls * lastbolls * 2))print("大乐透购买1注中奖概率为: {:.10%}".format(1 / (frontbolls * lastbolls)))
汇总结果
双色球所有可能组合数量为: 17,721,088.0 种可能双色球全部购买所需要花费: 35,442,176.0 元双色球购买1注中奖概率为: 0.0000056430%大乐透所有可能组合数量为: 21,425,712.0 种可能大乐透全部购买需要花费: 42,851,424.0元大乐透购买1注中奖概率为: 0.0000046673%
版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除