zoukankan      html  css  js  c++  java
  • 数论随笔(待补充)

    只列举了做题中用到过的一些数学定理,先暂时整理一部分。

     

    1、求n的位数:

      log10(n)

     

    2、n为质数: 

      a^m = a^(m % (n-1))  (mod n)

     

    3、欧拉函数:

      小于等于n的数中,与n互质的数的数目。

      Euler函数表达通式:euler(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…(1-1/pn),

      其中p1,p2……pn为x的所有素因数,x是不为0的整数。

      euler(1)=1(唯一和1互质的数就是1本身)。 

      

      补充性质:

      (1)对于质数p,φ(p) = p - 1。注意φ(1)=1。

      (2)对于互质的正整数a和n,有aφ(n) ≡ 1 mod n。(欧拉定理)

      (3)若m,n互质,φ(mn)=φ(m)φ(n)。

      (4)若n是质数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因为除了p的倍数外,其他数都跟n互质。

      (5)当n为奇数时,φ(2n)=φ(n)

      (6)设a为N的质因数,

         若( a | (N/a) ) 则有φ(N) = φ(N / a) * a;

         否则:φ(N) = φ(N / a) * (a - 1)。

      (7)一个数的所有质因子之和是euler(n)*n/2。

     

    4、卡特兰数

      令h(0)=1,h(1)=1,catalan数满足:

      h(n)= h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0)  (n>=2)
     
      h(n)=h(n-1)*(4*n-2)/(n+1);
      h(n)=C(2n,n)/(n+1) (n=0,1,2,...)
      h(n)=c(2n,n)-c(2n,n-1)(n=0,1,2,...)
     
      应用:括号化、出栈次序、凸多边形三角划分、给定节点组成二叉树
      
      扩展:对于在n位的2进制中,有m个0,其余为1的catalan数为:C(n,m)-C(n,m-1)。
        
     
  • 相关阅读:
    LeetCode重建二叉树系列问题总结
    LeetCode二叉树的前序、中序、后序遍历(递归实现)
    Redis持久化方式的选择
    Redis客户端——Jedis的使用
    Redis初识
    Java并发编程面试题 Top 50 整理版
    @GeneratedValue源码解析
    @Controller和@RestController源码解析
    Spring Boot整合Mybatis并完成CRUD操作
    Redis数据结构和常用API
  • 原文地址:https://www.cnblogs.com/Christen/p/4929069.html
Copyright © 2011-2022 走看看