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] ) ]

    然后就证毕了。

  • 相关阅读:
    element-ui获取table行数据
    去掉输入框的边框以及在显示获取焦点时的边框+jq日期选择器
    需要ui的小伙伴看过来(这篇博客只有一个链接希望对大家有用)
    vue获取当前对象
    FlashFXP用到的功能
    VS Code做项目的笔记
    单点登陆
    idea中自动生成实体类
    VSCode安装
    数组排序
  • 原文地址:https://www.cnblogs.com/tztqwq/p/12724577.html
Copyright © 2011-2022 走看看