1. 数列公式
立方和公式: 13+23+33+…+n3 = [n(n+1)/ 2]2
平方和公式: 12+22+32+…+n2=1/6 * n(n+1)(2n+1)
2. 斯特林公式
用来取n的阶乘的近似值:将阶乘转化成幂函数,n越大,结果越精确。
计算数字的位数:num_n = (int)log10( (int)n )+1
num_n! = (int)log10( (int)n! )+1
当n很大时,log10( n!) = log10(sqrt(2*pi*n))+n*log10(n/e) [n>3], n<=3时直接取1即可
3. 子串和子序列
子串:数组中连续的若干个元素;
子序列:只要求各元素顺序与其在数组中一致,没有连续的要求;
对于一个元素数为n的数组,其含有 2n 个子序列和 n(n+1)/2 个子串
4. 编码
整数n --> 格雷码:n⊕(n/2)