费马和欧拉


费马小定理

A ^ B % C  =  A^  (B%(C-1))   %C


欧拉定理

A ^ B % C  =A ^( B % ψ(C)+ψ(C) ) % C


欧拉函数是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。
通式:φ(x)=x*(1-1/p1)*(1-1/p2)*(1-1/p3)*(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。
对于质数p,φ(p) = p - 1。注意φ(1)=1.
欧拉定理:对于互质的正整数a和n,有aφ(n) ≡ 1 mod n。
欧拉函数是积性函数——若m,n互质,φ(mn)=φ(m)φ(n)。
                                 若n是质数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因为除了p的倍数外,其他数都跟n互质。
特殊性质:当n为奇数时,φ(2n)=φ(n)
欧拉函数还有这样的性质:
设a为N的质因数,若(N % a == 0 && (N / a) % a == 0) 则有E(N)=E(N / a) * a;若(N % a == 0 && (N / a) % a != 0) 则有:E(N) = E(N / a) * (a - 1)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
费马素性检验算法、欧拉素性检验算法和Miller-Rabin素性检验算法都是用来判断一个数是否为素数的算法,它们有一些相似之处,也有一些不同之处。 费马素性检验算法是基于费马小定理的,即如果p是素数,则对于任意整数a,a^(p-1) mod p = 1。因此,如果我们随机选择一个a,并计算a^(p-1) mod p,如果结果不等于1,则p不是素数。但是,如果结果等于1,p可能是素数,也可能是伪素数,即具有费马伪素数的特性。 欧拉素性检验算法是基于欧拉定理的,即如果p是素数,则对于任意整数a与p互质,a^(p-1) mod p = 1。因此,如果我们随机选择一个a,并计算a^(p-1) mod p,如果结果不等于1,则p不是素数。但是,如果结果等于1,p可能是素数,也可能是伪素数,即具有欧拉伪素数的特性。 Miller-Rabin素性检验算法是基于费马小定理和二次探测定理的,它比费马素性检验算法和欧拉素性检验算法更加准确。Miller-Rabin素性检验算法通过随机选择一个a,并将p-1分解为(2^s)*d的形式,然后计算a^d mod p以及(a^d)^2j mod p(其中j=0,1,2,…,s-1),如果结果不等于1且不等于p-1,则p不是素数。但是,如果所有结果都等于1或者等于p-1,则p可能是素数,也可能是伪素数。 总之,这三种算法都是用来判断一个数是否为素数的,它们的区别在于使用的数学原理、准确性和效率等方面。费马素性检验算法和欧拉素性检验算法的错误率较高,但是它们简单易懂、容易实现;而Miller-Rabin素性检验算法的错误率很低,但是实现稍微复杂一些。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值