what is the fastest way to find the gcd of n numbers?
问题 what is the fastest way to compute the greatest common divisor of n numbers? 回答1: You should use Lehmer's GCD algorithm. 回答2: Without recursion: int result = numbers[0]; for(int i = 1; i < numbers.length; i++){ result = gcd(result, numbers[i]); } return result; For very large arrays, it might be faster to use the fork-join pattern, where you split your array and calculate gcds in parallel. Here is some pseudocode: int calculateGCD(int[] numbers){ if(numbers.length <= 2){ return gcd(numbers);