1. 程式人生 > >Chapter_2 演算法分析:歐幾里得演算法

Chapter_2 演算法分析:歐幾里得演算法

unsigned int GCD(unsigned int M,unsigned int N) //M>=N
{
    unsigned int Rem;

    while(N>0)
    {
        Rem=M%N;
        M=N;
        N=Rem;
    }
    return M;
}

時間複雜度為O(log N),N為較小數字。
迭代次數最多為2log(N)
定理:若M>N,則 M mod N < M/2