《算法》- 歐幾里得算法求最大公約數


最大公約數(Greatest Common Divisor, GCD),是指2個或N個整數共有約數中最大的一個。a,b的最大公約數記為(a, b)。相對應的是最小公倍數,記為[a, b]。
在求最大公約數的幾種方法中,歐幾里得算法(輾轉相除法)最為出名:

計算(a, b), 若b是0,則最大公約數為a;否則。將a除以b得到余數r,a和b的最大公約數就是b和r的最大公約數,即:(a, b) = (b, r)

public static int gcd(int a ,int b){
      if(b == 0){
            return a;
      }else{
            return gcd(b, a%b);
      }
}

相應的最小公倍數求法:

public static int lcm(int a ,int b){
      return a*b/gcd(b, a%b);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM