[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/java66liu/Java/master/Maths/GCDRecursion.java [Back]  [Original]

package Maths;

/**
 * @author https://github.com/shellhub/
 */
public class GCDRecursion {
    public static void main(String[] args) {
        System.out.println(gcd(20, 15)); /* output: 5 */
        System.out.println(gcd(10, 8));  /* output: 2 */
        System.out.println(gcd(gcd(10, 5), gcd(5, 10))); /* output: 5 */
    }

    /**
     * get greatest common divisor
     *
     * @param a the first number
     * @param b the second number
     * @return gcd
     */
    public static int gcd(int a, int b) {

        if (a < 0 || b < 0) {
            throw new ArithmeticException();
        }

        if (a == 0 || b == 0) {
            return Math.abs(a - b);
        }

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

Web Proxy Viewer  |  New URL  |  Original Page