Try   HackMD
  1. Fibonacci thứ
    n
    :

fn=ϕnψn5,ϕ=1+52,ψ=152

  1. Công thức tích Vandermonde :

    i=0k(ni)(mki)=(n+mk)

  2. Nhị thức Newton :

    (a+b)n=k=0n(nk)aibni

  3. Catanlan độ dài

    2n:
    Cn=1n+1(2nn)

  4. Phi hàm Euler:

φ(n)=n×pi(11pi)=i=1kpiai1(pi1)

  1. GCD của hai số Fibonacci

    gcd(Fibn,Fibm)=Fibgcd(n,m)

  2. Sinh các bộ

    (a,b,c) Pythagoras
    a2+b2=c2
    :
    a=m2n2,b=mn,c=m2+n2
    , trong đó
    m>n>0,gcd(n,m)=1,nmod2=1
    hoặc
    m mod2=1

  3. Tính

    i=1nik bằng Lagrange :

for(int i=1; i<=k+2; ++i){
    y[i]=add(y[i-1], binpow(i, k));
  }
  if(n<=k+2) return cout<<y[n], void();
 
  int convolution=1;
  fact[0]=inv[0]=1;
  for(int i=1; i<=k+2; ++i){
    fact[i]=mul(fact[i-1], i);
    inv[i]=inverse(fact[i]);
  }
  prefix[0]=suffix[k+3]=1;
  for(int i=1, j=k+2; j>0; ++i, --j){
    prefix[i]=mul(prefix[i-1], (n-i));
    suffix[j]=mul(suffix[j+1], (n-j));
  }
 
  int ans=0;
  for(int i=1; i<=k+2; ++i){
    int res=mul(prefix[i-1], suffix[i+1]);
    res=mul(res, mul(y[i], inverse(mul(fact[i-1], fact[k+2-i]))));
    if(k+2-i&1) ans=(ans-res+M)%M;
    else ans=(ans+res)%M;
  }
  cout<<ans;
  1. Euler Phi Sieve:
for (int i = 1; i <= maxN; i++) EulerPhi[i] = i;
for (int i = 2; i <= maxN; i++) {
    if (EulerPhi[i] != i) continue; // i is composite
    for (int j = 1; i * j <= maxN; j++)
        EulerPhi[i * j] = (EulerPhi[i * j] / i) * (i - 1);
}
  1. Principle of inclusion-exclusion

Size of

n sets union:

|A1A2An|=|Ai1Ai2Aik|×(1)k1

for every

{i1,i2,,ik} is a subset of
{1,2,,n}
.

  1. Định lý Lucas :

    Πi=0k(nimi)=(nm) (mod M)
    n=n0M0+n1M1+n2M2+...+nkMk
    m=m0M0+m1M1+m2M2+...+mkMk

  2. Extended Catalan with a fixed prefix with

    k open brackets :

Cn(k)=k+1n+k+1(2n+kn)

  1. Expected Value theorem :
    E(X)=i=1nxipi

    p1+p2+p3+...+pn=1