1. 程式人生 > >GCD最大公約數

GCD最大公約數

mes gcd 遞歸 namespace pos 最大公約數 16px blog pac

說明:

最初跟鵬哥學習最大公約數的算法是輾轉相除,確實印象很深刻,那種輾轉賦值的思想在好多題目中都有運用,但隨著進一步學習,我也參考了其他幾種方便快捷的最大公約數求法,在這裏做一個總結。

1.
int gcd(int a,int b) ///基礎 輾轉 
{  
    int r;  
    while(b>0)  
    {  
         r=a%b;  
         a=b;  
         b=r;  
    }  
    return a;  
}  


2.
int gcd(int a,int b)///位運算
{  
    while(b^=a^=b^=a%=b);  
    
return a; } 3. int gcd(int a,int b)///遞歸 { return (b>0)?gcd(b,a%b):a; } 4. #include<algorithm>///直接使用c++的內置函數 using namespace std; __gcd(int a,int b)

GCD最大公約數