zoukankan      html  css  js  c++  java
  • Lucas定理 、斯特灵公式

    斯特灵公式是一条用来取n阶乘的近似值的数学公式。

    公式为:

    用该公式我们可以用来估算n阶乘的值;估算n阶乘的在任意进制下的位数。

    如何计算在R进制下的位数:我们可以结合对数来计算,比如十进制就是lg(n!)+1,二进制则是log2(n!)+1。

    Lucas(卢卡斯)定理

    公式为:(p为质数)

    当然,当n较小时,我们可以用组合数里面的定理来递推求解

    然而当n较大时,显然时间花费很大。而Lucas定理恰好是解决大组合数取模优解

    在这里由于知识有限,不能完全看懂Lucas定理证明的全部过程。所以就不写了。

    而代码实现Lucas定理也很简洁。只需要递归就行。

    使用Lucas定理的时候需要注意:p不能太大于10^5。

    Cnm=Cn/pm/p×Cnmodpmmodp(modp)
    Cnm=Cn/pm/p×Cnmodpmmodp(modp)
    Cnm=Cn/pm/p×Cnmodpmmodp(modp)
  • 相关阅读:
    查看Linux内核版本命令
    身份证测试用
    aaa
    aaaaaaaaaaaaaaa
    https
    httpclient调用https
    共阴极数码管编码
    时间单位换算
    Java 中System里getProperty(something)
    VM arguments
  • 原文地址:https://www.cnblogs.com/ISGuXing/p/8410585.html
Copyright © 2011-2022 走看看