
欧拉函数
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
约数与欧拉函数
求1-N中每个数的正约数集合 我们开一个vector,把每个数的约数往后面压 vector<int> factor[500010]; 同时,i*j的一个约数一定有i 所以 for(int i=1;i<=n;i++) for(int j=1;j<=n/i;j++) factor[i*j].push_back(i) i=2,j=1,2,3...原创 2018-08-23 14:01:29 · 675 阅读 · 0 评论 -
费马小定理与欧拉定理
费马小定理 假如p是质数,且gcd(a,p)=1,那么 a^(p-1)≡1(mod p) 欧拉定理 gcd(a,n)=1,则 a^≡1(mod p) 其中,是欧拉函数 欧拉定理证明 模m的同余类共有m个,分别为 它们构成m的完全剩余系 1-m中与m互质的数有个,它们构成m的简化剩余系 例如模10的简化剩余系为{},简化剩余系中任意两个乘起来还在简化剩余系中 例如7*9%1...原创 2018-08-23 18:18:45 · 2743 阅读 · 0 评论 -
扩展欧拉定理求幂
扩展欧拉定理 #include<bits/stdc++.h> using namespace std; int a,c; char b[100005]; int phi(int x){ int ans=x; for(int i=2;i*i<=x;i++){ if(x%i==0){ while(x%i==0) x/=i; ans=(ans/i)*...原创 2018-10-04 12:07:51 · 252 阅读 · 0 评论 -
Longge's problem[欧拉函数]
传送门 #include<cstdio> #include<cmath> #define LL long long using namespace std; LL n; LL phi(LL x){ LL ans=x; for(LL i=2;i*i<=x;i++){ if(x%i==0){ ans = (ans/i) * (i-1); whi...原创 2018-11-18 13:51:00 · 209 阅读 · 0 评论 -
BZOJ1257, 2226, 2705[欧拉函数] [整除分块]
BZOJ1257 模转除, 整除分块就可以了 #include<bits/stdc++.h> #define LL long long using namespace std; int n,k; LL ans; int main(){ scanf("%d%d",&n,&k); ans = (LL)k * (LL)n; LL ret = 0; for(i...原创 2019-02-16 23:19:00 · 235 阅读 · 0 评论