码迷,mamicode.com
首页 > 其他好文 > 详细

数论随笔(待补充)

时间:2015-11-07 23:21:43      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:

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

 

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

数论随笔(待补充)

标签:

原文地址:http://www.cnblogs.com/Christen/p/4929069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!