Open In App

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

Last Updated : 31 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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!


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads