数论相关模板及定理
protecteyesight
我向往天空的湛蓝和一望无际。保护视力,只为看到更远的天空。
展开
-
GCD模板
int gcd(int a,int b){ return b?gcd(b,a%b):a;}int gcd(int a,int b){ if (b==0) return a; return gcd(b,a%b);}int lcm(int a,int b){ int c = gcd(a,b); return a/c*原创 2017-04-03 22:06:40 · 423 阅读 · 0 评论 -
欧拉函数
对正整数n,欧拉函数是小于或等于n的数中与n互质的数的数目。求一个数的欧拉:int phi(int n){ int i,rea=n; for(i=2;i*i<=n;i++) { if(n%i==0) { rea=rea-rea/i; while(n%i==0)n/=i; }原创 2017-04-03 22:07:22 · 241 阅读 · 0 评论 -
stein算法求gcd
int stein(int a,int b){ if(a==0) return b; if(b==0) return a; if(a%2==0 && b%2==0) return 2*stein(a>>1,b>>1); else if(a%2==0) return stein(a>>1,b); else if(b%2==0) return stein(a,b>>1);原创 2017-04-03 22:08:06 · 326 阅读 · 0 评论 -
费马和欧拉
费马小定理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),其中p原创 2017-04-03 22:09:51 · 361 阅读 · 0 评论