您的位置:首页 > 编程语言 > Java开发

Amazon OA2准备——最大公约数

2015-10-18 04:28 465 查看
给一个int数组,求输出所有数字的最大公约数。题目简单明白。要是真遇上这道题就好了

使用了欧几里得算法,好像没什么特别好说的,直接给出实现好了

public static int gcd(int m, int n)
{
if(m % n == 0)
return n;
else
return gcd(n, m % n);

}

private static int gcdArray(int[] array) {
// TODO Auto-generated method stub
if(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]);
else
return 0;
}

return x;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息