zoukankan      html  css  js  c++  java
  • kummer定理

    没有校验过, 可能有锅qwq


    Kummer定理
    (n、m)为正整数,(p)为素数,则(C_{n+m}^m)(p)的幂次数等于(m+n)在p进制下的进位次数(在加法过程中)。


    前置芝士:
    (n!)含有的(p)的幂次数为:

    [sum_1^{infty} Big[ frac{n}{p^i} Big] ]

    (这个随便画画就可以证明了)


    证:
    (C_{n+m}^m)(p)的幂次数为:

    [sum_1^{infty} Big[ frac{m+n}{p^i} Big] - sum_1^{infty} Big[ frac{n}{p^i} Big] - sum_1^{infty} Big[ frac{m}{p^i} Big] ]

    [=sum_1^{infty} ( Big[ frac{m+n}{p^i} Big] - Big[ frac{n}{p^i} Big] - Big[ frac{m}{p^i} Big] ) ]

    接下来只要算出(m+n)在p进制下的进位次数(在加法过程中)就好。
    (m+n、n、m)分别写成(p)进制(下标为0的是最低位):

    [overline{c_0c_1c_2 cdots c_{unknown}} 、overline{n_0n_1n_2 cdots n_{unknown}} 、overline{m_0m_1m_2 cdots m_{unknown}} ]

    在加法过程中, 定义第(pos)位发生进位这个事件发生的条件为

    [n_{pos}+m_{pos} geq p ]

    若第(pos)位发生了进位, 则

    [overline{n_{pos+1} cdots n_{unknown}} +overline{m_{pos+1} cdots m_{unknown}} < overline{c_{pos+1} cdots c_{unknown}} ]

    当然, 由于进位最多进一((lfloor frac{(p-1)+(p-1)}{p} floor = 1)), 故当第(pos)位发生进位时

    [overline{c_{pos+1} cdots c_{unknown}} - overline{n_{pos+1} cdots n_{unknown}} - overline{m_{pos+1} cdots m_{unknown}} = 1 ]

    反之

    [overline{n_{pos+1} cdots n_{unknown}} +overline{m_{pos+1} cdots m_{unknown}} = overline{c_{pos+1} cdots c_{unknown}} ]

    [overline{c_{pos+1} cdots c_{unknown}} - overline{n_{pos+1} cdots n_{unknown}} - overline{m_{pos+1} cdots m_{unknown}} = 0 ]

    然后在(p)进制下(m+n)过程中的进位次数用数学式子表示就是这个
    ((overline{x_{pos+1} cdots x_{unknown}}) = (x/p^{pos+1}))

    [sum_1^{infty} ( Big[ frac{m+n}{p^i} Big] - Big[ frac{n}{p^i} Big] - Big[ frac{m}{p^i} Big] ) ]

    然后就证毕了。

  • 相关阅读:
    第二阶段:团队开发Fooks第七天
    第二阶段:团队开发Fooks第六天
    第二阶段:团队开发Fooks第五天
    【POI每日题解 #9】SKA-Piggy Banks
    ac自动机
    【POI每日题解 #8】DYN-Dynamite
    vector
    【POI每日题解 #7】TES-Intelligence Test
    【POI每日题解 #6】KRA-The Disks
    DP
  • 原文地址:https://www.cnblogs.com/tztqwq/p/12724577.html
Copyright © 2011-2022 走看看