# Java Program for GCD of more than two (or array) numbers

Last Updated : 31 Jan, 2023

The GCD of three or more numbers equals the product of the prime factors common to all the numbers, but it can also be calculated by repeatedly taking the GCDs of pairs of numbers.

```gcd(a, b, c) = gcd(a, gcd(b, c))
= gcd(gcd(a, b), c)
= gcd(gcd(a, c), b)```

## Java

 `// Java program to find GCD of two or` `// more numbers`   `public` `class` `GCD {` `    ``// Function to return gcd of a and b` `    ``static` `int` `gcd(``int` `a, ``int` `b)` `    ``{` `        ``if` `(a == ``0``)` `            ``return` `b;` `        ``return` `gcd(b % a, a);` `    ``}`   `    ``// Function to find gcd of array of` `    ``// numbers` `    ``static` `int` `findGCD(``int` `arr[], ``int` `n)` `    ``{` `        ``int` `result = arr[``0``];` `        ``for` `(``int` `i = ``1``; i < n; i++)` `            ``result = gcd(arr[i], result);`   `        ``return` `result;` `    ``}`   `    ``public` `static` `void` `main(String[] args)` `    ``{` `        ``int` `arr[] = { ``2``, ``4``, ``6``, ``8``, ``16` `};` `        ``int` `n = arr.length;` `        ``System.out.println(findGCD(arr, n));` `    ``}` `}`   `// This code is contributed by Saket Kumar`

Output:

`2`

Time complexity: O(n)
Space complexity: O(1)

Please refer complete article on GCD of more than two (or array) numbers for more details!

Previous
Next