यहां हम देखेंगे कि दो से अधिक संख्याओं का GCD कैसे प्राप्त किया जा सकता है। दो संख्याओं का GCD खोजना आसान है। जब हम दो से अधिक संख्याओं का GCD खोजना चाहते हैं, तो हमें GCD के साहचर्य नियम का पालन करना होगा। उदाहरण के लिए, यदि हम {w, x, y, z} का GCD खोजना चाहते हैं, तो यह {gcd(w,x), y, z} होगा, फिर {gcd(gcd(w,x), y), z}, और अंत में {gcd(gcd(gcd(w,x), y), z)}। सरणी का उपयोग करके इसे बहुत आसानी से किया जा सकता है।
एल्गोरिदम
gcd(a, b)
begin
if a is 0, then
return b
end if
return gcd(b mod a, a)
end
getArrayGcd(arr, n)
begin
res := arr[0]
for i in range 1 to n-1, do
res := gcd(arr[i], res)
done
return res;
end
उदाहरण
#include<iostream>
using namespace std;
int gcd(int a, int b) {
if (a == 0)
return b;
return gcd(b%a, a);
}
int getArrayGcd(int arr[], int n) {
int res = arr[0];
for(int i = 1; i < n; i++) {
res = gcd(arr[i], res);
}
return res;
}
main() {
int arr[] = {4, 8, 16, 24};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "GCD of array elements: " << getArrayGcd(arr, n);
}
आउटपुट
GCD of array elements: 4