fixed bug in method gcd(int, int)

This commit is contained in:
Christian Bender 2018-07-25 17:07:34 +02:00
parent c86ba856a8
commit 161791d4a5

View File

@ -2,29 +2,37 @@
//This is Euclid's algorithm which is used to find the greatest common denominator //This is Euclid's algorithm which is used to find the greatest common denominator
//Overide function name gcd //Overide function name gcd
public class GCD{ public class GCD {
public static int gcd(int num1, int num2) { public static int gcd(int num1, int num2) {
int gcdValue = num1 % num2; if (num1 == 0)
while (gcdValue != 0) { return num2;
num2 = gcdValue;
gcdValue = num2 % gcdValue; while (num2 != 0) {
if (num1 > num2)
num1 -= num2;
else
num2 -= num1;
} }
return num2;
}
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]);
return result;
}
public static void main(String[] args) { return num1;
int[] myIntArray = {4,16,32}; }
//call gcd function (input array)
System.out.println(gcd(myIntArray)); 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]);
return result;
}
public static void main(String[] args) {
int[] myIntArray = { 4, 16, 32 };
// call gcd function (input array)
System.out.println(gcd(myIntArray)); // => 4
System.out.printf("gcd(40,24)=%d gcd(24,40)=%d\n", gcd(40, 24), gcd(24, 40)); // => 8
} }
} }