siteName > > maths.GCDRecursion
Threads
java ( 172981 ) - java ( 172991 ) stack: com.thealgorithms.maths.GCDRecursion.main(GCDRecursion.java:10)
package com.thealgorithms.maths;

/**
 * @author https://github.com/shellhub/
 */
public final class GCDRecursion {
    private 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);
        }
    }
}
Variables All
No.FromNameValue
110args[Ljava.lang.String;@7852e922
END 0 00
Output All Filter Merge
Process FilterThread Filter
172981 java 172991 java
No.PNPIDTIDTNMessage
END 0 0 0 00
Project:Alg-Java
Update:20240824
Commit:a7cd97d7
Source Code:maths.GCDRecursion
BuildTool:Java17
Compiler:Java17
Runtime:Openjdk17
System:MySystemD
Kernel:Linux5.10.211
Cpu:Intel:Corei7-7700K
Machine:AwesomeMachine