【欧拉降幂公式】【欧拉函数】
一、降幂公式
AK≡AK%ϕ(m)+ϕ(m)(mod  m)A^K \equiv A^{K\%\phi(m) + \phi(m)} (\mod m)AK≡AK%ϕ(m)+ϕ(m)(modm)
其中φ(即phi)是欧拉函数其中φ(即phi)是欧拉函数其中φ(即phi)是欧拉函数
二、欧拉函数
- 定义:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n)φ(n)φ(n) 。
- 性质:
1、φ(1)=1φ(1)=1φ(1)=1
2、φ(p)=p−1φ(p) = p - 1φ(p)=p−1 (对于质数p)
3、欧拉定理:对于互质的正整数a和n,有aφ(n)≡1modna^{φ(n)} \equiv 1 mod naφ(n)≡1modn。
4、欧拉函数是积性函数:若m,n互质,φ(mn)=φ(m)φ(n)(积性函数表达式)。
5、n是质数p的k次幂,有φ(n)=pk−p(k−1)=(p−1)p(k−1)φ(n)=p^k-p^{(k-1)}=(p-1)p^{(k-1)}φ(n)=pk−p(k−1)=(p−1)p(k−1),因为除了p的倍数外,其他数都跟n互质。
6、设p为n的质因数
若(n % p == 0 && (n / p) % p == 0) 则有φ(n)=φ(n / p) * p;
若(n % p == 0 && (p / p) % p != 0) 则有:φ(n) = φ(n / p) * (p - 1)。
三、模板
欧拉函数
法一:
long long euler(long long x) //直接求欧拉函数
{long long res=1;for(long long i=2;i*i<=x;++i){if(x%i==0){x/=i;res*=(i-1);while(x%i==0){x/=i;res*=i;}}}if(x>1) res*=(x-1);return res;
}
法二:
//求欧拉函数 相当于不断减去
long long phi(long long x)
{long long res=x;for(long long i=2;i*i<=x;++i){if(x%i==0){res=res-res/i;while(x%i==0)x/=i;}}if(x>1)res=res-res/x;return res;
}
快速幂
long long qpow(long long a,long long n,long long mod) //快速幂
{long long ans=1;while(n){if(n&1){ans*=a;ans%=mod;}a=(a*a)%mod;n>>=1; }return ans;
}
【欧拉降幂公式】【欧拉函数】相关推荐
- 欧拉φ函数和欧拉降幂公式
欧拉φ函数:在数论中,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数.欧拉商数等.φ(1)=1 C++实现: int GetEuler(i ...
- 逆元,欧拉降幂公式,二次剩余
一.逆元 概念和作用 逆元其实跟倒数很相似. 逆元概念:方程 a x ≡ 1 ( m o d p ) ax\equiv 1(mod\, \: p) ax≡1(modp) 的解称为 a 关于模 p 的逆 ...
- POJ2720_Last Digits_欧拉降幂公式打表
题意 定义函数 f(x) = b^f(x-1) if x > 0, and f(0)=1.(a^b表示a的b次幂) 给定 b, i, n,求f(i) 的末n位 思路 首先末 n 位的意思就是 m ...
- 欧拉函数+欧拉定理+拓展欧拉定理(欧拉降幂)
目录 欧拉函数 欧拉定理 拓展欧拉定理(欧拉降幂) 欧拉函数 在数论中,有正整数n,欧拉函数是小于n的正整数中与n互质的数的数目. 它的通式如下: φ(n)=n*(1-1/p1)*(1-1/p2)*( ...
- 欧拉降幂(Euler_Power_Formula)
一.欧拉降幂公式 二.证明 欧拉降幂公式与证明 三.例题 https://ac.nowcoder.com/acm/contest/330/E 四.参考文章 https://blog.csdn.net/ ...
- Summer Training day4 欧拉降幂
Input 2 Output 2 Hint 1. For N = 2, S(1) = S(2) = 1.2. The input file consists of multiple test case ...
- 幂塔的计算 (欧拉降幂)
形如以下式子的东西叫做幂塔: a a a a . . . a^{a^{a^{a^{...}}}} aaaa... 题目 给定 a , n , m a,n,m a,n,m,计算 a a a的 n n n ...
- Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式
这个题的指数太大了,因此要考虑用降幂公式进行降幂 记f(p) = 2^2^2... % p f(p) = 2^(2^2^2...%phi(p) + phi(p)) % p = 2^(f(phi(p)) ...
- 3884: 上帝与集合的正确用法 欧拉函数+降幂公式
Orz题解 降幂公式:a^x ≡a^(x modϕ(p)+ϕ(p)) (mod p) #include<iostream> #include<cstdio> #include& ...
- 2019年ICPC银川区域赛 Easy Problem(简单莫比乌斯函数 + 欧拉降幂)
Easy Problem ∑a1=1m∑a2=1m∑a3=1m⋯∑an−1m∑anm[gcd(a1,a2,a3,-,an−1,an)==d](a1,a2,a3,-,an−1,an)k=dkd∑a1=1 ...
最新文章
- oracle sid环境变量,ORACLE_SID环境变量设置的问题
- 图标和文字跟着div比例放大缩小_Word文档页面显示比例与单页多页,文本的输入、修改、删除与插入...
- 最大正方形Python解法
- 空间谱专题10:MUSIC算法
- 口算练习题(洛谷P1957题题解,Java语言描述)
- java变量自增题的分解08251944
- 《汇编语言》王爽—第八章实验七详解
- 轨道运营管理专业自荐书_轨道运营管理专业主要是学习什么_毕业后薪资待遇怎么样...
- react入门(一)
- TraceWrite waittype
- 安卓bin固件文件编辑器_摄像头恶意固件制作指南
- java resourcebundle properties_Java使用Properties类和ResourceBundle类读取properties文件
- macbook硬盘读写速度测试(Disk Speed Test 测速贴图)
- pdf转换成word转换器免费版哪里下载
- python爬虫入门------王者荣耀英雄及皮肤数据爬取项目
- 自学游戏建模,有什么适合新手学习的3D建模软件?
- Linux命令之 jstack
- 神通数据库v7.0试用版安装步骤
- Unity3D NGUI分离RGBA通道
- SQLServer数据库镜像配置