摘要: 我们假设p为素数,n!=a*pe,则我们需要求解a mod p和e。e是n!能够迭代整除p的次数,因此可以使用下面式子计算:n/p+n/p2+n/p3……我们只需要对pt≤n的t进行计算所以复杂度为O(logpn)接下来计算a mod p。首先计算n!的因数中不能被p整除的项的积。举个简单的例子后不... 阅读全文
posted @ 2016-01-26 14:35 wls001 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 威尔逊定理给出当且仅当p为素数时:( p -1 )! ≡ -1 ( mod p )充分性证明:如果“p”不是素数,那么它的正因数必然包含在整数1, 2, 3, 4, … ,p− 1 中,因此gcd((p− 1)!,p) > 1,所以我们不可能得到(p− 1)! ≡ −1 (modp)。必要性证明:取... 阅读全文
posted @ 2016-01-26 14:27 wls001 阅读(1095) 评论(0) 推荐(0) 编辑
摘要: 中国剩余定理可以用来解线性同余方程组。对于一个合数n,设n=a*b(a,b互素),那么x mod n=x mod a=x mod b。所以对于一个n模合数的情况,我们只需要考虑模pk(p为素数)的情况就可以了,即f(x)≡0(mod n)↔f(x)≡0(mod pk)(pk|n)如果n不能被以上任何... 阅读全文
posted @ 2016-01-26 11:27 wls001 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 线性同余方程组就是由多个线性同余方程联立得到的。用数学符号表示就是求解ai*x≡bi(mod m)(1≤i≤n)这样的方程。可知解的全集一定可以写成x≡b(mod m)的形式,因此我们只要对所有线性同余方程依次求解即可。因为x≡b1(mod m1),所以将x写成x=b1+m1*t并代入第二个式子,可... 阅读全文
posted @ 2016-01-26 10:45 wls001 阅读(206) 评论(0) 推荐(0) 编辑