三个或三个以上数字的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