随笔分类 -  数论

摘要:$Luogu$ $Sol$ 枚举解+秦九韶公式计算+取模. $Code$ #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<algorithm> #define il inline #defi 阅读全文
posted @ 2019-10-03 14:49 DTTTTTTT 阅读(95) 评论(0) 推荐(0)
摘要:传送门 Description: 给定T个数,分别求出它们的最大质因数 Solution: 其实大概框架是很容易想到的 对于一个数n 找到它的一个因数x 判断这个因数是不是质数 如果是质数就更新答案 如果不是 就分别分解x与n/x 找因数用Pollar-Rho 判质数用Miller-Rabin 细节 阅读全文
posted @ 2019-03-19 21:14 DTTTTTTT 阅读(530) 评论(1) 推荐(0)
摘要:洛谷传送门 Solution:(非常言简意赅) 首先分解出p,q 用Pollard-Rho算法 算出r 解ed≡1(mod r)的同余方程算出d 用快速幂算出cdmod N 然后没啦 Code: 1 #include<bits/stdc++.h> 2 #define Rg register 3 #d 阅读全文
posted @ 2019-03-16 14:28 DTTTTTTT 阅读(206) 评论(0) 推荐(0)
摘要:传送门 Solution 懒得写啦 Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #define Rg register 5 #define go(i,a,b) for(Rg int i=a;i<=b;i++) 6 阅读全文
posted @ 2019-03-16 14:18 DTTTTTTT 阅读(169) 评论(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 阅读(192) 评论(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 阅读(119) 评论(0) 推荐(0)
摘要:传送门 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 阅读(131) 评论(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 阅读(171) 评论(0) 推荐(0)