Fix empty input handling in GCD (#4199)
This commit is contained in:
parent
36232a8373
commit
e14b30b88c
@ -33,15 +33,15 @@ public class GCD {
|
||||
}
|
||||
|
||||
/**
|
||||
* get greatest common divisor in array
|
||||
* @brief computes gcd of an array of numbers
|
||||
*
|
||||
* @param number contains number
|
||||
* @return gcd
|
||||
* @param numbers the input array
|
||||
* @return gcd of all of the numbers in the input array
|
||||
*/
|
||||
public static int gcd(int[] number) {
|
||||
int result = number[0];
|
||||
for (int i = 1; i < number.length; i++) { // call gcd function (input two value)
|
||||
result = gcd(result, number[i]);
|
||||
public static int gcd(int[] numbers) {
|
||||
int result = 0;
|
||||
for (final var number : numbers) {
|
||||
result = gcd(result, number);
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -48,4 +48,19 @@ public class GCDTest {
|
||||
void test7() {
|
||||
Assertions.assertEquals(GCD.gcd(9, 6), 3);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testArrayGcd1() {
|
||||
Assertions.assertEquals(GCD.gcd(new int[]{9, 6}), 3);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testArrayGcd2() {
|
||||
Assertions.assertEquals(GCD.gcd(new int[]{2*3*5*7, 2*5*5*5, 2*5*11, 5*5*5*13}), 5);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testArrayGcdForEmptyInput() {
|
||||
Assertions.assertEquals(GCD.gcd(new int[]{}), 0);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user