摘要: 传送门 Description: 求关于x的同余方程a*x≡1(mod b)的最小正整数解。 Solution: 其实就是求最小正整数x使得a*x-1是b的倍数 不妨设它为b的-y倍 则a*x+b*y=1 欧几里得算法算出一个特解x0 然后处理一下x0使之称为满足题意的最小正整数就可以啦 Code: 阅读全文
posted @ 2019-03-12 19:14 DTTTTTTT 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 同余的性质 看这里吧 欧拉定理 若正整数a,n互质,则aφ(n)≡1(mod n),其中φ(n)为欧拉函数。 费马小定理 若p是质数,则对于任意整数a,有ap≡a(mod p)。 //当a,p互质时,要满足ap-1≡1(mod p),就是欧拉定理的一种特殊情况 a,p不互质时,a是p的倍数,显然成立 阅读全文
posted @ 2019-03-12 19:14 DTTTTTTT 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1~n中与n互质的数被称为欧拉函数。 怎么求欧拉函数呢 只要拿n减去与n不互质的数的个数就可以了 φ(n)=n*∏质数p|n(1-1/p) 欧拉函数的性质 1.任意n>1,1~n中与n互质的数之和为φ(n)*n/2 证明:gcd(n,x)=gcd(n,n-x) 所以与n互质的数x,n-x是成对出现的 阅读全文
posted @ 2019-03-12 19:14 DTTTTTTT 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 给定m,求1-m之间所有的素数 埃氏筛法 找到一个素数的时候,把它的倍数都打上标记 这样的话只要循环到一个没有标记的数那它就是素数了 void primes() { go(i,2,m) { if(fg[i])continue; go(j,i,m/i)fg[i*j]=1; prime[++ct]=i; 阅读全文
posted @ 2019-03-12 19:14 DTTTTTTT 阅读(108) 评论(0) 推荐(0) 编辑