用于两个以上(或数组)数的GCD的Java程序

三个或三个以上数字的GCD等于所有数字共有的素数因子的乘积,但也可以通过重复计算成对数字的GCD来计算。

null
gcd(a, b, c) = gcd(a, gcd(b, c)) 
             = gcd(gcd(a, b), c) 
             = gcd(gcd(a, c), b)

// Java program to find GCD of two or
// more numbers
public class GCD {
// Function to return gcd of a and b
static int gcd( int a, int b)
{
if (a == 0 )
return b;
return gcd(b % a, a);
}
// Function to find gcd of array of
// numbers
static int findGCD( int arr[], int n)
{
int result = arr[ 0 ];
for ( int i = 1 ; i < n; i++)
result = gcd(arr[i], result);
return result;
}
public static void main(String[] args)
{
int arr[] = { 2 , 4 , 6 , 8 , 16 };
int n = arr.length;
System.out.println(findGCD(arr, n));
}
}
// This code is contributed by Saket Kumar


输出:

2

请参阅完整的文章 两个以上(或数组)数的GCD 更多细节!

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享