This efficient JavaScript function returns the greatest common divisor of a series of numbers.
- function GCD(nums)
- {
- if(!nums.length)
- return 0;
- for(var r, a, i = nums.length – 1, GCDNum = nums[i]; i;)
- for(a = nums[–i]; r = a % GCDNum; a = GCDNum, GCDNum = r);
- return GCDNum;
- }
- alert(GCD([12, 8, 4])); // Will return 4