质数:
1.试除法判定质数:O(n^1/2) for (int i=0;i<=n/i;i)
2.分解质因数: O(logn)-O(n^1/2) for (int i=0;i<=n/i;i)
3.筛质数: 埃氏筛法O(nloglogn) 线性筛法O(n) (利用最小质因数筛选,每个数字只被筛选一次)。
埃氏筛法:for (int i=0;i<=n/i;i)
线性筛法:for (int j=0;primes[j]<=n/i;j)
约数:
1.试除法求约数:需要用 x 除以 1 到 根号x 之间的数,如果余数是0,则把除数以及x / 除数加到答案中。
2.约数个数:把一个数N 写成:N=(p1^x1^)(p^x2)(p3^x3)…(pk^xk),其中pi为质数。则N的约数个数为
(x1+1)(x2+1)(x3+1)…(xk+1)
3.约数之和:
a1⋅a2⋯an=pe11+e21+⋯+en11⋅pe12+e22+⋯+en22⋯pe1k+e2k+⋯+enkk
4.欧几里得算法:gcd(a,b)=gcd(b,a-c*b) c=a/b;