算法
CPUTern
兴趣极广
展开
-
扩展GCD&同余方程&乘法逆元
扩展欧gcd已知:ax+by = gcd(a,b),求出一组特解,x0,y0。其他解为:x=x0+k*b; y=y0-k*a;对于更为一般的方程ax+by = c,它有解当且仅当d|c(d=gcd(a,b))。通解:x = (c/d)*x0+k*(b/d) , y = (c/d)*y0 - k*(a/d)。(k∈Z)。最小正整数解:x1 = ((x0*c/d)%(b/d)+(b/d...原创 2019-04-07 14:39:29 · 457 阅读 · 0 评论 -
算数基本定理
算数基本定理(唯一分解定理)任何大于1的自然数,都可以唯一分解成有限个质数的乘积代码:map <int , int > prime_factor(int n){ map <int, int>ans; for(int i = 2; i*i <= n; i++){ while(n % i == 0){ ++an...原创 2019-04-19 10:39:06 · 425 阅读 · 0 评论 -
欧拉函数
欧拉函数:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。代码:int eulerfunction(int n)//欧拉函数{ int ans=n; int i; for(i=2;i<=n;i++){ if(n%i==0){ ans -= ans/i; // m-m/p while(n%i==0) n/=...原创 2019-04-19 11:16:03 · 190 阅读 · 0 评论