学习:数学----欧拉定理与扩展欧拉定理

欧拉定理扩展欧拉定理可以解决形如5100000000000000000000等大数幂取模或者求ax mod n=1的大于1的最小x值等一类问题,其中欧拉函数占巨大的重要性,有效的将复杂的大数幂取模问题转化为简单的大数取模和快速幂问题,下面就来介绍一下基本的欧拉定理扩展欧拉定理

1.欧拉函数的定义



欧拉函数Φ(n)指1至n以内,与n互质的数的个数

当n比较小时,可以通过从前到后遍历的方法计算Φ(n)

对于欧拉函数Φ(n),还有更简单的计算方法。

假如n可以通过分解质因子得到n的质因子p1,p2,p3.....pn;

那么

  Φ(n)=n*(1-1/p1)*(1-1/p2)*(1-1/p3)*.....*(1-1/pn)

特别的,当n=pr(p为质数)时(p是n的唯一质因子)

  Φ(n)=pr-count(p,2p,3p....pr)=n*(1-1/p)     (证明:由于n分解质因子只有p这一个质因子,故n以内与n不互质的数为p的倍数)

当n=p1r1p2r2时(p1和p2是n的所有质因子)

  含有p1的因子为p1,2p1.....p2r2p1r1-1,p2r2p1r1,一共n/p1个;

  含有p2的因子为p2,2p2.....p1r1p2r2-1,p1r1p2r2,一共n/p2个;

  既含有p1又含有p2的因子为p1p2,2p1p2,3p1p2.....p1r1-1p2r2-1,一共n/p1p2个;

  根据容斥定理可知与n不互质数的个数k为n/p1+n/p2-/p1p2;

  那么Φ(n)=n-k=n*(1-1/p1)*(1-1/p2);

因此可以推广到n=p1r1p2r2....pnrn



2.欧拉函数的性质



1)当n为质数时  Φ(n)=n-1

2)当m与n互质时  Φ(mn)=Φ(n)*Φ(m)

3)当n为质数时  Φ(2n)=Φ(n)

例如

  Φ(6)=Φ(3)=2 或Φ(6)=Φ(3)*Φ(2)=2*1=2



3.欧拉定理



若n与a互质,则aΦ(n)≡1(mod n)

首先来解释一下  aΦ(n)≡1(mod n)  是什么意思:

  aΦ(n)≡1(mod n) 等价于 aΦ(n) mod n=1 mod n

应用:可以解决ax=1(mod n)或ax mod n=1 mod n的大于1的最小x的值的问题

  由于最小x一定小于等于Φ(n),则令Φ(n)=t*x+b,aΦ(n)=atx+b=atxab但由于我们算的x是最小的x,故b等于0,可以得到Φ(n)是x的倍数,因此只要遍历Φ(n)的所有因数,大于1的最小的因数就是x的值

  

比如让你求4mod 3=1的最小x值:

  4与3本身互质,最小x一定小于等于Φ(3)=2,由于2的大于1的最小因数为2,故x最小取2

特别的,当n是质数时,ax=1(mod n)的大于1的最小x值为n-1



4.扩展欧拉定理



一个公式:ax mod n≡ax mod Φ(n)+Φ(n) mod n  (n与x与a无需满足任何条件)

应用:运用扩展欧拉定理可以解决大数幂求模的问题,将利用大数求余很大的x转化为约等于Φ(n)的一个数,然后可以利用快速幂的方法得到结果!

如让你求49876543210213657854521 mod 12345的值:

  可以通过分解质因子方法得到Φ(12345)=6576,再利用大数求余求9876543210213657854521 mod 6576=569,再用快速幂求4569+6576 mod 12345=9318



  

原文地址:https://www.cnblogs.com/qiyueliu/p/10793232.html

时间: 2024-10-09 21:44:48

学习:数学----欧拉定理与扩展欧拉定理的相关文章

[luogu4139]上帝与集合的正确用法【欧拉定理+扩展欧拉定理】

题目大意 让你求\(2^{2^{2^{\cdots}}}(mod)P\)的值. 前置知识 知识1:无限次幂怎么解决 让我们先来看一道全国数学竞赛的一道水题: 让你求解:\(x^{x^{x^{\cdots}}}=2\)方程的解. 对于上面的无限次幂,我们可以把这个式子移上去,得到了\(x^{2}=2\). 因为指数的原因,所以我们可以直接得到了\(x=\sqrt{2}\). 以上的问题,启示我们对于这一些无限次幂可以转移来解决. 以上的东西可能用不到 知识2:欧拉定理和扩展欧拉定理 详细请出门左拐

[BZOJ 4869][SXOI2017]相逢是问候(扩展欧拉定理+线段树)

Description Informatik verbindet dich und mich. 信息将你我连结.B君希望以维护一个长度为n的数组,这个数组的下标为从1到n的正整数.一共有m个操作,可以 分为两种:0 l r表示将第l个到第r个数(al,al+1,...,ar)中的每一个数ai替换为c^ai,即c的ai次方,其中c是 输入的一个常数,也就是执行赋值ai=c^ai1 l r求第l个到第r个数的和,也就是输出:sigma(ai),l<=i<=rai因为 这个结果可能会很大,所以你只需

[BZOJ 3884]上帝与集合的正确用法(扩展欧拉定理)

Description 根据一些书上的记载,上帝的一次失败的创世经历是这样的: 第一天, 上帝创造了一个世界的基本元素,称做“元”. 第二天, 上帝创造了一个新的元素,称作“α”.“α”被定义为“元”构成的集合.容易发现,一共有两种不同的“α”. 第三天, 上帝又创造了一个新的元素,称作“β”.“β”被定义为“α”构成的集合.容易发现,一共有四种不同的“β”. 第四天, 上帝创造了新的元素“γ”,“γ”被定义为“β”的集合.显然,一共会有16种不同的“γ”. 如果按照这样下去,上帝创造的第四种元

[扩展欧拉定理例题]降幂大法

降幂大法1 题面: 给出a,b,p,计算a^b %p 的结果,0< a <= 10^9,0< b <= 10^10000,0< p <= 10^9. 思路: 10的10000次方,这题不简单.那么经过欧拉定理的学习之后,有如下结论:,其中a,n互质,但是很显然,他不能用来解决这道题.那么扩展欧拉定理应运而生了. ac≡acmodφ(m)+φ(m)(mod m) 其中c>=φ(m).他很强,强到了一种逆天的程度.对于这个定理,我有一个优雅的证明,但是在网上打不出来.

fzu1759 Super A^B mod C 扩展欧拉定理降幂

扩展欧拉定理: \[ a^x \equiv a^{x\mathrm{\ mod\ }\varphi(p) + x \geq \varphi(p) ? \varphi(p) : 0}(\mathrm{\ mod\ }p)\] #include <iostream> #include <cstring> #include <cstdio> using namespace std; typedef long long ll; ll aa, cc; char bb[100000

[BZOJ4869][六省联考2017]相逢是问候(线段树+扩展欧拉定理)

4869: [Shoi2017]相逢是问候 Time Limit: 40 Sec  Memory Limit: 512 MBSubmit: 1313  Solved: 471[Submit][Status][Discuss] Description Informatikverbindetdichundmich. 信息将你我连结.B君希望以维护一个长度为n的数组,这个数组的下标为从1到n的正整数.一共有m个操作,可以 分为两种:0 l r表示将第l个到第r个数(al,al+1,...,ar)中的每

小学扩展欧拉定理

学了一下扩展欧拉定理,不会证,记了个结论,笔记的话,随便去网上搜一搜吧.-bzoj3884:上帝与集合的正确用法无脑板子题额 #include <cstdio> #include <cstring> #include <algorithm> typedef long long LL; inline int Pow(int x,int y,int P){ int ret=1; while(y){ if(y&1)ret=(LL)ret*x%P; x=(LL)x*x%

CodeForces 907F Power Tower(扩展欧拉定理)

Priests of the Quetzalcoatl cult want to build a tower to represent a power of their god. Tower is usually made of power-charged rocks. It is built with the help of rare magic by levitating the current top of tower and adding rocks at its bottom. If

【CodeForces】906 D. Power Tower 扩展欧拉定理

[题目]D. Power Tower [题意]给定长度为n的正整数序列和模数m,q次询问区间[l,r]累乘幂%m的答案.n,q<=10^5,m,ai<=10^9. [算法]扩展欧拉定理 [题解]扩展欧拉定理的形式: $$a^b\equiv a^{b\%\varphi(p)+\varphi(p)} \ \ mod \ \ p \ \ (b\leq \varphi(p))$$ 特别注意当b<φ(p)且(a,p)≠1时不变. 假如现在是三个累乘幂a^(b^c),那么根据扩展欧拉定理: $$a^