【日常学习】乘法逆元&&欧拉定理&&费马小定理&&欧拉函数应用&&常大学霸

转载请注明出处 [ametake版权所有]http://blog.csdn.net/ametake欢迎来看看

今天花了一个多小时终于把乘法逆元捣鼓明白了 鉴于我拙计的智商抓紧把这些记录下来 在此本栏目鸣谢里奥姑娘和热心网友himdd的帮助和支持

那么正文开始···

逆元是干什么的呢?

因为(a/b)mod p ≠(a mod p)/(b mod p)

我们需要想一种方法避免高精

那就是把除法转化为乘法 因为(a*b) mod p = ( a mod p ) *( b mod p )

怎么转化呢?逆元出现了。

若对于数字A,C 存在X,使A * X = 1 (mod C) ,那么称X为 A 对C的乘法逆元。

说白了,除以一个数取模的话,和乘以这个数的逆元取模效果是一样的。

为什么效果一样?让我们来看下面的例子:

12 / 4 mod 7 = ? , 很显然结果是3

我们现在对于数对 (4,7), 可以知道 X = 2是 4 对7的乘法逆元即2*4=1(mod 7)

那么我们有(12 / 4) * (4 * 2 ) = (?) * (1) (mod 7)

除法被完美地转化为了乘法

理论依据:

F / A mod C = ?

如果存在 A*X = 1 (mod C)//为什么是1,因为上面乘法中(?)
* (1) (mod 7)
应该是1这个数才会不变

那么2边同时乘起来,得到 F * X = ? (mod C)

现在我们知道,除以一个数取模等于乘以这个数的逆元取模 接下来就是求逆元了 求逆元其实就是求使A*X = 1 (mod C)成立的X,其中A是除法中的除数

欧拉定理-费马小定理告诉我们:如果a与p互质,则a^phi(p)=1 (mod p);特别地,当p是质数,a^(p-1)=1 (mod p) 因为此时phi(p)=p-1

由于a^phi(p)=1 (mod p) (意思是a^phi(p) mod p =1)

所以a*a^(phi(p)-1)=1 (mod p)  也就是说 对比我们可以看出X就是(phi(p)-1)

我们用X表示a的逆元 那么它等于a的phi(p)-1次方

而我们又可以证明:当a与f互素时,a关于模f的乘法逆元有唯一解。如果不互素,则无解。如果f为素数,则从1到f-1的任意数都与f互素,即在1到f-1之间都恰好有一个关于模f的乘法逆元。

(互质唯一解不互质无解,虽然我也不明白为什么,王若松前辈课件上也没讲明白,以后再问问吧(其实可以请教常学霸的···))

而事实上,逆元属于群论的范畴,但鄙人的群论知识基本为0,因此遥指度受

那么我们到底该如何求除法取模呢?b/a mod c 1.筛法求欧拉函数表O(nlogn) 2.快速幂求出每个函数的逆元O(logn)*枚举要求的数O(n)=O(nlogn) 合计O(2nlogn)=O(nlogn)

这是用费马小定理求 当然也可以用扩展欧几里得 但我还不大明白 再慢慢学

热烈欢迎好人TY君回到XB组的窝哼(ˉ(∞)ˉ)唧

——江山代有才人出,各领风骚数百年

时间: 2024-10-12 13:59:57

【日常学习】乘法逆元&&欧拉定理&&费马小定理&&欧拉函数应用&&常大学霸的相关文章

费马小定理,欧拉函数

在证明这些定理之前先证明一个有意思的定理. 对于0 mod m,n mod m , 2n mod m, 3n mod m, 4n mod m... (m-1)n mod m 对应解集序列 一定有 m/d份 0 d 2d 3d..m-d. (不一定按照顺序) 这样的解. 其中d = gcd(n,m) 具体点:n=8,m=12.  d = gcd(n,m)=4 对于 0 mod 12,8 mod 12,16 mod 12,24 mod 12,32 mod 12,40 mod 12...88 mod

HDOJ M斐波那契数列 4549【矩阵快速幂+快速幂+费马小定理+欧拉函数】

M斐波那契数列 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 2096    Accepted Submission(s): 596 Problem Description M斐波那契数列F[n]是一种整数数列,它的定义如下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 现在给

BZOJ-1951-古代猪文-SDOI2010-费马小定理+欧拉函数+lucas定理+中国剩余定理

描述 =>G∑(ni),i|nmodP 分析 k=∑Cin,i|n(modP) G?(P)≡1(modP),?(p)=p?1 P′=P?1 =>GP′≡1(modP) Gk≡GkmodP′(modP) 如何求k? lucas定理 (nm)=(nmodP′mmodP′)?(n/P′m/P′) P'不是素数, lucas定理不适用. 所以把P'-1拆成2*3*4679*35617再用中国剩余定理来解. 一下子用这么多不熟悉的定理和方法感觉这个题好厉害. 终于知道当被模的数不是质数该怎么用中国剩余定

【学习总结】数学-费马小定理

定义 p是质数,并且gcd(a,p)=1(a,p互质),那么有 ap?1≡1mod(p) 证明 准备知识 剩余类:对模n同余的整数构成的一个集合叫做模n的一个剩余类. 简化剩余系(也叫既约剩余系):模n的值与n互质的全部剩余类中,从每一类中各任取一数所组成的数的集合,叫做模n的一个简化,也叫缩系. 完全剩余系:从模n的每个剩余类中各取一个数,得到一个由n个数组成的集合,叫做模n的一个完全剩余系. 剩余系定理2:有整数a,b,c,m为正整数,且gcd(m,c)=1, 则当ac≡bcmod(m)时,

同余|欧拉定理|费马小定理|扩展欧拉定理|扩展欧几里得算法

目录 同余 基本定理 欧拉定理 费马小定理 扩展欧拉定理 扩展欧几里得算法 同余 基本定理 欧拉定理 若a,m互质,则 \[ a^{\varphi\left ( m \right )}\equiv 1\left ( mod \ m \right ) \] 应用 令,,这两个数是互素的.比5小的正整数中与5互素的数有1.2.3和4,所以.计算:,而.与定理结果相符. 计算的个位数,实际是求被10除的余数.7和10互素,且.由欧拉定理知.所以. 费马小定理 若p是质数,则对于任意整数a,都有 \[

欧拉定理 / 费马小定理证明

主要部分转自百度百科:https://baike.baidu.com/item/欧拉定理 内容: 在数论中,欧拉定理,(也称费马-欧拉定理)是一个关于同余的性质.欧拉定理表明,若n,a为正整数,且n,a互质,则: 证明: 将1~n中与n互质的数按顺序排布:x1,x2……xφ(n) (显然,共有φ(n)个数) 我们考虑这么一些数: m1=a*x1;m2=a*x2;m3=a*x3……mφ(n)=a*xφ(n) (1) 这些数中的任意两个都不模n同余,因为如果有mS≡mR (mod n) (这里假定m

UVALive 7040 Color (容斥原理+逆元+组合数+费马小定理+快速幂)

题目:传送门. 题意:t组数据,每组给定n,m,k.有n个格子,m种颜色,要求把每个格子涂上颜色且正好适用k种颜色且相邻的格子颜色不同,求一共有多少种方案,结果对1e9+7取余. 题解: 首先可以将m 与后面的讨论分离.从m 种颜色中取出k 种颜色涂色,取色部分有C(m, k) 种情况: 然后通过尝试可以发现,第一个有k种选择,第二个因不能与第一个相同,只有(k-1) 种选择,第三个也只需与第二个不同,也有(k-1) 种选择.总的情况数为k ×(k-1)^(n-1).但这仅保证了相邻颜色不同,总

hdu1576-A/B-(同余定理+乘法逆元+费马小定理+快速幂)

A/B Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10383    Accepted Submission(s): 8302 Problem Description 要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1). Input 数据的第一行是一个

CodeForces 300C Beautiful Numbers(乘法逆元/费马小定理+组合数公式+快速幂)

C. Beautiful Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Vitaly is a very weird man. He's got two favorite digits a and b. Vitaly calls a positive integer good, if the decimal