# Array: Computing GCD

Question: Write a method that returns the gcd of an unspecified number of integers. The method header is specified as follows:
public static int gcd(intâ€¦ numbers)
Write a test program that prompts the user to enter five numbers, invokes the method to find the gcd of these numbers, and displays the gcd.

How to find GCD:
1. Divide the larger number by the smaller number. If number is zero then divisor is GCD
2. Let the divisor of step 1 be the dividend now and make the remainder as the new divisor. Continue the process
till you get a zero as remainder
3. Last divisor will be GCD

```package Ch7;

/*
Q: Write a method that returns the gcd of an unspecified number of integers. The method header is specified as follows:
public static int gcd(int... numbers)
Write a test program that prompts the user to enter five numbers, invokes the method to find the gcd of these numbers,
and displays the gcd.
How to find GCD:
1. Divide the larger number by the smaller number. If number is zero then divisor is GCD
2. Let the divisor of step 1 be the dividend now and make the remainder as the new divisor. Continue the process
till you get a zero as remainder
3. Last divisor will be GCD
*/

import java.util.Arrays;

public class Ex14 {

public static int gcd (int... numbers){
//sort the array
Arrays.sort(numbers);
//check if length of array
if (numbers.length<2){
return -1;
}
//initialize the gcd with the smallest number
int gcd=numbers[0];
for(int i=0; i<numbers.length; i++){
gcd=gcdTwo(gcd, numbers[i]);
}
return gcd;
}

public static int gcdTwo (int divisor, int dividend){
while (divisor!=0){
int temp= divisor;
divisor= dividend%divisor;
dividend=temp;
}
return dividend;
}

public static void main (String [] args){
System.out.println(gcd(10,5,15,20,25));
}
}```
Java Programs

This site uses Akismet to reduce spam. Learn how your comment data is processed.