给一个int数组,求输出所有数字的最大公约数。题目简单明白。要是真遇上这道题就好了
使用了欧几里得算法,好像没什么特别好说的,直接给出实现好了
public static int gcd(int m, int n){if(m % n == 0)return n;elsereturn gcd(n, m % n);}private static int gcdArray(int[] array) {// TODO Auto-generated method stubif(array == null)return 0;if(array.length == 0)return 0;if(array.length < 2)return array[0];int x = array[0];for(int i = 1; i < array.length; i++){if(array[i] > 0 && x > 0)x = gcd(x,array[i]);elsereturn 0;}return x;}