private static int CalcGCD(int[] numbers, GCDFunc gcdFunc) { counter = 0; if (numbers.Length == 0) { return(0); } if (numbers.Length == 1) { return(numbers[0]); } int divisor = gcdFunc(numbers[0], numbers[1]); counter++; for (int i = 2; i < numbers.Length; i++) { divisor = gcdFunc(divisor, numbers[i]); } return(divisor); }
private static int GetSteps(int[] numbers, GCDFunc gcdFunc) { CalcGCD(numbers, gcdFunc); return(counter); }