zoukankan      html  css  js  c++  java
  • 数论总结

    • 数论总结

    • 欧拉筛

      核心思想:对于每个合数,都用其最小质因子筛去,故复杂度O(n)

      code:

      

      关于这句话:

       

      当prime[j]成为i的素因子时,那么i*prime[j]一定可以表现为一个更小的素因子和一个更大的合数的乘积,在后面一定会被筛去,因此这里直接关闭。

    • 欧拉函数

      

      怎样理解?

      1.$p$为素数,那么结论显然成立。

      2.1-pa中,只有$p$的倍数可以被$p$整除,这样的倍数有pa-1个,减去即可。

      3.直接记下即可,证明如下:

      

      对于第1行,与$m$互质的数有$φ(m)$个,而一共有$n$列,对于每个互质的数$r$,$k*m+r$与$m$也互质,故一共有$φ(m)$列数与$m$互质。又因为每一列的$n$个数$k*m+r$在$mod n$意义下构成一个完全剩余系(它们本身都不相等,$mod n$后余数都不相等),故$mod n$后的数构成的数列即为原数列的一个排列,故每一列都有$φ(n)$个数与$n$互质,故$φ(mn)=φ(m)*φ(n)$。

      

      1.由定义可得。

      2.由欧拉函数的积性,已证。

      3.由筛法公式,对于

      

      由上图,质因子有3个时,个数为集合$S$(方框)减去三个圈的全集。即$S-(1/p1+1/p2+1/p3-1/p1p2-1/p1p3-1/p2p3+1/p1p2p3)$因式分解后即可得出结果。

      4.$n$为奇数,$n$与2互质,$φ(2n)=φ(2)*φ(n)=φ(n)$

      5.证明如下:

      

    • 欧拉定理

      

      设$ x1,x2...x$φ(m)为$1-m$中与$m$互质的数,那么因为$a%与$m$互质,所以$ a*x1,a*x2...a*x$φ(m)也与$m$互质。

      那么有:

      

        比较显然。。。

      推论:

      

        $p$为质数,$φ(p)=p-1$把$1$除过来就是逆元了。

    • 广义欧拉定理

      

     

     

      

      

      

      

  • 相关阅读:
    TestNG
    K近邻算法
    Python解决乱码问题
    Log4J 配置
    多线程死锁
    hadooplzo安装出错的解决方法
    B树
    设计模式
    整数序列化
    Maven
  • 原文地址:https://www.cnblogs.com/THRANDUil/p/11234131.html
Copyright © 2011-2022 走看看