- 博客(3)
- 收藏
- 关注
原创 约数个数
对于每一个整数a,可对其进行质因子分解: a = p1k1p1^{k1}p1k1 + p2k2p2^{k2}p2k2 + … + pnknpn^{kn}pnkn (p1~pn为在数轴上的质数按从小到大顺序从第1个到第n个) 求一个数的约数个数 a的任意一个约数N = p1k1p1^{k1}p1k1 * p2k2p2^{k2}p2k2 * … * pnknpn^{kn}pnkn 第i项个k可取闭区间[0 , k](共ki + 1种取法 ) 故a的约数个数为(k1 + 1) * (k2 + 1) *
2021-06-05 20:53:57 97 1
原创 快速乘和快速幂模板
快速幂 计算sqrt(a,b)%p long long fast_power(long long basic, long long power, long mod) { int result = 1; while (power > 0) { if (power & 1) result = result * basic % mod; power >>= 1; basic = (basic*basic)%mod; } return result; } 快速乘
2021-06-02 22:33:15 92
原创 质数(素数)的筛法
质数(素数)的三种筛法 质数的判定:约数只有1和其本身的自然数。 现在给定一个数n,要求我们列出从1~n的质数。 思路: 我们先定义一个bool数组st[N],用st[1]~st[n]的下表分别对应1到n。不是质数的标为true,将其筛掉。 再用一个int数组prime[N]来存放质数。 朴素筛法 O(nlogn) #include <iostream> using namespace std; const int N = 1000010; int prime[N], cnt = 0; bool
2021-04-12 11:02:50 678 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人